在带有注入和观察器的函数组件中使用钩子 - mobx

use hooks inside function component with inject and observer - mobx

我正在尝试将 observer 添加到我的组件中,但是当我这样做时出现错误

Invalid hook call. Hooks can only be called inside of the body of a function component

没有 observer 而只有 inject,一切正常,但我需要组件在商店发生变化时重新渲染。

我是不是写错了语法,或者应该应用一些解决方法(比如将存储对象设置为本地状态并强制重新渲染,或者重构代码以使用 useStoreuseObserver)?

obserever(不工作)

export default inject(stores => stores)(
    observer(props => {
       ...component with hooks usage...
 }))

没有obserever(工作但不重新渲染)

export default inject(stores => stores)(props => {
       ...component with hooks usage...
  })

你的语法是正确的,应该一切正常。

不过您需要检查您的 mobx-react 版本。只有 >= 6 的版本才能使用 hooks。