当组件安装时,我正在使用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 吗?