useEffect()反应挂钩依赖数组棉绒规则

时间:2020-05-21 16:30:05

标签: reactjs react-hooks eslint use-effect

棉绒规则迫使我也将'dispatch'包含为useEffect()的依赖项。

(如果我不将dispatch添加为依赖项,则会引发警告“ React Hook useEffect缺少依赖项:'dispatch'。要么包含它,要么删除依赖项数组。”)

可以将分派或其他任何功能列出为依赖项吗?在不禁用lint规则的情况下,有没有更好的使用方法?

useEffect(() => {
    if (debouncedSearchText) {
      dispatch(getUsers(pageIndex, rows, debouncedSearchText));
    }
},[debouncedSearchText, pageIndex, dispatch]);

1 个答案:

答案 0 :(得分:1)

可以将函数添加为依赖项,但是请记住,组件层次结构中的函数应该包装在rating钩中,因为在重新渲染时,除非更改引用,否则除非useCallback中给定的依赖项已更改。库作者已经公开了记忆功能,因此无需将这些功能包装在useCallback中。