【发布时间】:2021-05-07 03:27:04
【问题描述】:
我正在使用 mobx 和 react hooks 一起。我有一个 useContext 来获取商店功能
const store = useContext(MyStore)
useEffect(() => {
if (init !== '') {
store.loading = true;
store.bulkApprove(init).then(data => {
store.unCheckAll();
});
}
}, [init]);
我可以看到下面的一堆警告
React Hook useEffect has a missing dependency: 'store'. Either include it or remove the dependency array
我真的很困惑,为什么我需要在依赖数组中包含存储
【问题讨论】:
-
是的,我一直在这条路上。我花了很多时间尝试以一种满足 linter 的方式编写我的钩子...... linter 坚持认为函数中涉及的所有内容也存在于其
dependencies中。我决定忽略这一点,直到他们更新 linter,我找到另一种更有效地编写我的钩子的方法,或者这成为一个问题。我知道这不是您想要的,但认为它可能会有所帮助。 -
React hook linter 是为了提供指导而构建的,将所有变量添加到依赖项中是一种很好的做法。但是,由您决定挂钩的哪个变量依赖于触发 useEffect 中的重新渲染循环。
标签: javascript reactjs react-hooks mobx