首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将功能组件转换为类组件?

如何将功能组件转换为类组件?
EN

Stack Overflow用户
提问于 2021-06-01 19:02:19
回答 1查看 34关注 0票数 0

您好,我正在为我的协作白板做语音识别。我的白板组件是一个类组件,我想将语音识别的代码(这是一个功能组件)放在白板组件中。但是我需要把它转换成一个类组件。我使用的是库react-speech-recognition,这是需要转换的代码:

代码语言:javascript
复制
import React from 'react'
import SpeechRecognition, { useSpeechRecognition } from 'react-speech-recognition'

const Mic = () => {
    const { transcript, resetTranscript } = useSpeechRecognition()

    if (!SpeechRecognition.browserSupportsSpeechRecognition()) {
        return null
    }

    return (
        <div>
            <button onClick={SpeechRecognition.startListening}>Start</button>
            <button onClick={SpeechRecognition.stopListening}>Stop</button>
            <button onClick={resetTranscript}>Reset</button>
            <p>{transcript}</p>
        </div>
    )
}
export default Mic

有谁能教我怎么做吗?在transcriptresetTranscript变量中使用语音识别函数会让我觉得更难。

EN

回答 1

Stack Overflow用户

发布于 2021-06-01 19:32:39

您的钩子useSpeechRecognition有问题,您不能在类组件中使用它,您可以检查React文档来验证:Hooks FAQ,作为替代,您应该使用HOC SpeechRecognition

代码语言:javascript
复制
import React, { Component } from 'react'
import SpeechRecognition from 'react-speech-recognition'

class Mic extends Component {
  render() {
    const { transcript, resetTranscript, browserSupportsSpeechRecognition } = this.props

    if (!browserSupportsSpeechRecognition) {
      return null
    }
    
    return (
      <div>
        <button onClick={SpeechRecognition.startListening}>Start</button>
        <button onClick={SpeechRecognition.stopListening}>Stop</button>
        <button onClick={resetTranscript}>Reset</button>
        <p>{transcript}</p>
      </div>
    )
  }
}

export default SpeechRecognition(Mic)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67787642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档