第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在我的反應應用程序中引入了分頁。工作正常,但會出現(xiàn)一些減速和無響應的應用內(nèi)導航。未安裝組件警告

在我的反應應用程序中引入了分頁。工作正常,但會出現(xiàn)一些減速和無響應的應用內(nèi)導航。未安裝組件警告

BIG陽 2022-07-21 11:01:26
我在我的 react 應用程序中引入了一個名為 react-hooks-paginator 的新包(此處的文檔),并將它添加到我想使用分頁的幾個頁面(例如產(chǎn)品列表)。它工作正常,但添加后會導致一些意想不到的副作用。單擊分頁頁碼時會導致速度變慢。分頁內(nèi)的一些應用內(nèi)導航(使用 react-router-dom 的“鏈接”。與錨標簽類似,但為登錄用戶保留會話)并不總是有效。有時我必須多次單擊它。得到:“警告:無法在未安裝的組件上執(zhí)行 React 狀態(tài)更新。這是一個無操作,但它表明您的應用程序中存在內(nèi)存泄漏。要修復,請取消 useEffect 清理函數(shù)中的所有訂閱和異步任務?!?nbsp;當我離開帶有分頁的頁面時。我?guī)缀蹩梢钥隙ㄐ遁d組件警告是問題的根源,但我不確定如何處理此錯誤。有人可以解釋此警告的含義以及可以解決的問題嗎?以下是我在分頁中擁有的一個組件。productListPublic.js
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻1830條經(jīng)驗 獲得超3個贊

我在您的 useEffect 中發(fā)現(xiàn)的問題。


使用isMount變量來跟蹤元素的掛載狀態(tài),并能夠避免在它已經(jīng)卸載時更新反應狀態(tài)。這應該刪除警告。

最終代碼:


    useEffect(() => {

        let isMount = true

        axios.get("http://localhost:4000/products/")

        .then(res => {

            if (!isMount) return // If element has unmount, dont update the state

            setProducts(res.data);

            setCurrentProducts(products.slice(offset, offset + pageLimit));

        }).catch(function(err) {

            if (!isMount) return // If element has unmount, dont update the state

            setIsError(true);

        })

        return () => {

          isMount = false

        }

    }, [offset, products]);


查看完整回答
反對 回復 2022-07-21
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號