我正在使用useEffect
挂钩来挂载组件时触发一些操作。
代码如下:
useEffect(() => {
onChange(
bar1 ? graphData.displayedItems[bar1.value] : null,
bar2 ? graphData.displayedItems[bar2.value] : null,
by ? byOptions[by.value] : null
)
}, [])
此代码可以正常工作,但我得到警告:
第54行:React Hook useEffect缺少依赖项:“ bar1”,“ bar2”,“ by”,“ byOptions”和“ graphData.displayedItems”。要么包含它们,要么删除依赖项数组react-hooks / exhaustive-deps
我不想将它们添加到依赖项数组中,因为这样,它将在每次更新这些道具之一时运行。而且我只想在组件安装后运行一次。
有没有一种方法可以消除警告,而不必将其添加到依赖项数组中?
我知道此警告可以被ESLint配置覆盖。但是我不想要那个。我想要适当的解决方案。如果React添加了此警告,则必须是对此的解决方案。
我正在学习使用钩子。这有效吗?在这种情况下,我应该使用componentDidUpdate吗?