[英]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.