簡體   English   中英

使用 onload 的 React 中的歡迎加載程序問題

[英]Welcome loader issue in React using onload

我正在用 React 實現歡迎加載器。 第一次加載頁面時它工作正常。 但是當我再次刷新頁面時,加載程序並沒有消失。 這是代碼->

function App(){

        const [isLoader, setIsLoader] = useState(false);


        useEffect(() => {
            setIsLoader(true);
            window.addEventListener("load", setLoaderHandle);
            return () => {
                window.removeEventListener("load", setLoaderHandle);
            }

        }, []);


        const setLoaderHandle = () => {
            const time = setTimeout(() => setIsLoader(false), 1300);
        }


        return (
           <> 
              {isLoader && <Loader />}
           </>
        )
}

因為一旦你添加了一個事件偵聽器,就會調用 Load Event,所以打開一個新選項卡,你的 load 事件將被調用,但是你的刷新加載事件不會被調用,所以setLoaderHandle也不會被調用。

您可以在setLoaderHandle中調用 setLoaderHandle 以確保在每個組件安裝時調用它。

useEffect(() => {
    setIsLoader(true);
    window.addEventListener("load", setLoaderHandle);
    setLoaderHandle();
    return () => {
      window.removeEventListener("load", setLoaderHandle);
    };
  }, []);

暫無
暫無

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

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