lint 规则迫使我也包含 'dispatch' 作为 useEffect(( 的依赖项。
(如果我不将调度添加为依赖项,它会引发警告"React Hook useEffect 缺少依赖项:'dispatch'。要么包含它,要么删除依赖关系数组。
是否可以将调度或任何其他功能列为依赖项?有没有更好的方法可以在不禁用 lint 规则的情况下使用?
useEffect(() => {
if (debouncedSearchText) {
dispatch(getUsers(pageIndex, rows, debouncedSearchText));
}
},[debouncedSearchText, pageIndex, dispatch]);
添加函数作为依赖项是可以的,但请记住,组件层次结构中的函数应该包装在useCallback
钩子中,因为在重新渲染时,除非 useCallback 中给出的依赖项被更改,否则它不会更改引用。库编写器已经公开了记忆函数,因此无需将这些函数包装在useCallback中。