[英]infinite loop when using useEffect with a required funcion
我正在开发仪表板并制作自定义挂钩。 它用于排序和过滤表。
每次更改排序或过滤字段时,我都需要重新获取新字段。 所以我试图使用useEffect
但我有一个无限循环,因为 linter 告诉我我必须包含onRefetch()
函数
useEffect(() => {
onRefetch();
}, [onRefetch, sort]);
如果我从依赖项中删除onRefetch
,它可以完美运行,但 linter 失败。
有任何想法吗?
谢谢!
你试过useCallback
吗?
const memoizedOnRefetch = useCallback(() => onRefetch(), []);
useEffect(() => {
memoizedOnRefetch();
}, [memoizedOnRefetch, sort]);
由于您的目的,您应该禁用 eslint。
useEffect(() => {
onRefetch();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [sort, filter]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.