首頁 >web前端 >js教程 >延遲載入和記憶化| ReactJS |第 1 部分

延遲載入和記憶化| ReactJS |第 1 部分

Linda Hamilton
Linda Hamilton原創
2024-11-25 21:08:10477瀏覽

Lazy loading and Memoization | ReactJS | Part 1

ReactJS 情境中延遲載入和記憶化的比較,包括定義、用例和範例:


延遲載入

定義

React 中的延遲載入是指僅在需要時載入元件或資源的做法,而不是在初始頁面載入時載入。這減少了初始載入時間並提高了效能。

要點

目標:減少初始套件大小並最佳化效能。

使用時:對於不立即需要的元件或資產(例如,隱藏標籤中的模態或影像)。

React 功能:使用 React.lazy 和 Suspense 實作。

範例:延遲載入元件

從 'react' 導入 React, { Suspense };

const HeavyComponent = React.lazy(() => import('./HeavyComponent'));

const App = () =>; {
返回(


歡迎使用我的應用程式


正在載入...}>



);
};

匯出預設應用程式;

行為:HeavyComponent 僅在渲染時才會載入。


記憶

定義

React 中的記憶化是快取函數或元件渲染結果的過程,以避免不必要的重新計算或重新渲染。它透過防止冗餘操作來幫助提高效能。

要點

目標:避免昂貴的重新計算或重新渲染。

使用時:對於計算成本較高的函數或重複接收相同 props 的元件。

React 功能:使用 useMemo、useCallback 和 React.memo 實作。

範例:記憶組件

從 'react' 匯入 React, { useMemo };

const ExpenseCalculation = ({ number }) =>; {
const 計算 = (num) => {
console.log('正在計算...');
返回數字*2; // 模擬一個昂貴的操作
};

const result = useMemo(() => 計算(number), [number]);

回傳

結果:{結果};
};

匯出預設的 ExpenseCalculation;

行為:calculate僅在number屬性改變時執行,避免冗餘計算。


何時使用每個?

延遲載入:
當您的應用程式具有可以推遲到需要時使用的大型元件或資源(例如儀表板圖表或包含大量圖像的圖庫)時使用。

記憶:
當您的應用程式執行重複計算或因道具或狀態未變更而不必要地重新渲染元件時使用。

以上是延遲載入和記憶化| ReactJS |第 1 部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn