javascript - React Hook useEffect 和 useCallback 无限循环,函数作为依赖项(react-table v7)
问题描述
我无法理解这个 React Hooks 示例。我有一个sortBy
通过组件的道具调用。基于此,我想更新 (react-table v7: ^7.0.0-rc.10
) 表排序。它正在调用toggleSortBy
(来自图书馆)。当它运行时,它以无限循环结束。
当我取出时toggleSortBy
,一切正常,但出现错误:
React Hook useCallback has a missing dependency: 'toggleSortBy'. Either include it or remove the dependency array react-hooks/exhaustive-deps
.
我已经碰到过几次了,所以我想我不明白一些基本的东西。
//const sortBy = [{
// id: 'test',
// desc: true
//}]
const doSort = useCallback(() => {
toggleSortBy(sortBy[0].id, sortBy[0].desc, false);
}, [sortBy, toggleSortBy]);
useEffect(() => {
if(sortBy.length) {
doSort();
}
}, [sortBy, doSort]);
如何让这段代码在没有无限循环或产生 lint 错误的情况下工作?
解决方案
推荐阅读
- html - CSS Toggle 手风琴表演奇怪,想法?
- algorithm - 单纯形算法:初始化-单纯形
- sql-server - 为什么 CROSS APPLY *not* 在此查询中出现无效列错误?
- python - 删除重复数据框熊猫
- python - 如何在没有交叉验证的情况下检查机器学习的准确性
- websocket - socket.io 客户端事件未触发
- android - 如何识别 I 方法被片段调用?
- gradle - IntelliJ 无法为 org.gradle.api.Project 类型的根项目“Blue Bot”设置未知属性“mainClassName”
- mongodb - 如何使用 mongo-driver/mongo 查找具有多个条件的文档
- microsoft-graph-api - 是否可以使用 Graph API 选择某个位置的所有文件(仅文件)?