如果我用这个
useEffect(() => {
dispatch(fetchToDos())}, [debouncedToDo, loginInfo.isLogin])
我收到警告
React Hook useEffect缺少依赖项:“dispatch”。请包含它或移除依赖项数组react-hooks/exhautive-deps
如果我在依赖项数组中包含“dispatch”,警告就消失了。
就像这样:
useEffect(() => {
dispatch(fetchToDos())}, [dispatch, debouncedToDo, loginInfo.isLogin])
1条答案
按热度按时间uz75evzq1#
是的,
dispatch
可以安全地添加到useEffect
钩子的依赖项数组中。从文件上看
只要相同的存储示例被传递到
<Provider>
,dispatch
函数引用就将是稳定的。通常,该存储示例在应用程序中永远不会更改。然而,React钩子lint规则不知道
dispatch
应该是稳定的,并且会警告dispatch
变量应该被添加到useEffect
和useCallback
的依赖关系数组中。