簡體   English   中英

在 useEffect 鈎子上獲取無限循環

[英]Getting infinite loop on useEffect hook

試圖構建一個工具提示組件。 當工具提示從視口移開時,需要切換工作正常的工具提示 position。 但是當工具提示遠離視口時,useEffect 會無限運行。 無法找到根本原因。

添加沙箱鏈接https://codesandbox.io/s/dbpkr

嘗試使用依賴數組

useEffect(() => {;
    let intersectionObserver = new IntersectionObserver(function (entries) {
      if (!entries[0].isIntersecting) {
        setMoveBottom(!moveBottom);
      }
    });

    if (refElement) intersectionObserver.observe(refElement);

    return () => {
      if (refElement) intersectionObserver.unobserve(refElement);
    };
  }, [setMoveBottom, moveBottom, refElement]);

是的,因為您沒有傳遞 useEffect 掛鈎的依賴項。

因此,在 useEffect 末尾添加空數組或傳遞任何依賴項

例如:

 useEffect(() => {


}, [])

有關更多信息,請閱讀此處在此處輸入鏈接描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM