在React中使用带有自定义钩子的回调函数?

时间:2019-07-14 22:41:14

标签: reactjs react-native

我有一个自定义的useDictation钩子,该钩子连接到语音文本服务。我想在每次收到结果时附加语音结果。

该钩子接受从服务接收到最终结果时触发的回调函数。在主要组件中调用它,并在每次接收到结果时触发。我想显示结果的总和。

我无法访问任何useState方法或任何其他更新组件状态的方法。一切保持静态或不更新。我不确定我在做什么错吗?

function Component(){
  const [speechResults, setSpeechResults] = useState("")

  const callback = (results) => {
    setSpeechResults(prevState => prevState + results)
  }

  const [results] = useDictation(callback)

  return(
   //Shows the sum of all results returned
   <Text>{speechResult}</Text>
  )




}

由于某种原因,它将永远不会添加结果的总和,也永远不会封装状态或当前状态。是否有一个原因?谢谢!

1 个答案:

答案 0 :(得分:1)

类似这样的东西(未经测试):

" 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60"