我正在尝试将observer
添加到我的组件中,但是这样做时出现错误
无效的挂钩调用。挂钩只能在功能组件的主体内部调用
在没有observer
的情况下,并且仅与inject
一起使用,一切正常,但是当商店发生更改时,我需要重新渲染组件。
我写的语法不正确吗,还是应该应用一些解决方法(例如将存储对象设置为本地状态并强制像这样强制重新渲染,或者重构代码以使用useStore
和useObserver
)?
使用obserever
(无效)
export default inject(stores => stores)(
observer(props => {
...component with hooks usage...
}))
没有obserever
(有效但不能重新渲染)
export default inject(stores => stores)(props => {
...component with hooks usage...
})
答案 0 :(得分:1)
您的语法正确,一切正常。
不过,您需要检查mobx-react
的版本。只有版本== 6才能与钩子一起使用。