React 是一個用於建立使用者介面的強大 JavaScript 函式庫,只需一些技巧,您就可以編寫更乾淨、更有效率且可維護的程式碼。在本文中,我們將探討五個基本的 React 技巧,它們將幫助您撰寫效能更高、可讀性更強的程式碼。
在 React 中,根據特定條件有條件地渲染元件或元素是很常見的。然而,當計算的表達式產生假值(例如 false、null、undefined、0 或 '')時,使用 && 運算子進行條件渲染可能會很棘手。為了避免意外的渲染行為,最好使用三元運算子。
在條件渲染中使用 &&:
{0 && <h1>Hello world 5</h1>} {0 ? <h1>Hello world 6</h1> : null}
第一個範例({0 &&
第二個範例 ({0 ?
您可以使用三元運算子來確保渲染正確的後備內容,而不是依賴 && 運算符,尤其是當條件為假時。
{0 ? <h1>Hello world 5</h1> : null}
在這種情況下,如果條件為假 (0),React 將渲染 null,這會導致不渲染任何內容,從而提供更可預測和預期的行為。
React 的 useState 鉤子可以將函數作為其初始值,讓您延遲初始化狀態。當初始狀態的計算成本很高或它依賴於某些只應運行一次的計算時,這特別有用。
{0 && <h1>Hello world 5</h1>} {0 ? <h1>Hello world 6</h1> : null}
在此範例中:
React 的 React.lazy() 和 Suspense 是延遲載入元件的絕佳工具,它有助於將 JavaScript 分成更小的套件,並僅在需要時載入它們。這顯著減少了初始載入時間並提高了應用程式的效能。
{0 ? <h1>Hello world 5</h1> : null}
在此範例中:
透過使用延遲加載,您的應用程式將僅加載初始渲染所需的元件,並按需獲取其他元件,從而提高效能,尤其是在大型應用程式中。
如果您使用 JavaScript,在存取物件上的深層巢狀屬性時,可選連結 (?.) 是救星。它可以防止嘗試存取未定義或 null 的屬性時發生的錯誤。可選鏈在現代 JavaScript 中可用,允許您安全地存取屬性,而無需手動檢查 null 或未定義。
import React, { useState } from 'react'; const ExpensiveComponent: React.FC = () => { const [count, setCount] = useState(() => { // Expensive computation console.log('Computing initial state'); return Math.random(); // For example, generate a random number }); return <div>Initial Random Value: {count}</div>; }; export default ExpensiveComponent;
在此範例中:
如果沒有可選鏈接,您需要手動檢查每個級別,這很快就會導致程式碼混亂且難以閱讀。可選的連結使其保持乾淨且無錯誤。
在 React 中,當使用表單且不需要元件在每次輸入變更時重新渲染時,最好使用 useRef 而不是 useState。 useRef 直接儲存輸入欄位的值,當值變更時不會觸發重新渲染,使其對於大型表單的效能更高。
{0 && <h1>Hello world 5</h1>} {0 ? <h1>Hello world 6</h1> : null}
在此 TypeScript 範例中:
當表單值不需要觸發重新渲染以進行驗證或動態更新時,使用 useRef 特別有用,使其成為效能敏感表單的絕佳選擇。
透過在程式碼中應用這五個 React 技巧,您可以顯著提高效能、可讀性和可維護性。快速回顧一下:
透過這些技術,您的 React 應用程式將更加高效且更易於維護,從而帶來更好的使用者體驗和更順暢的開發。快樂編碼!
以上是提高程式碼品質和效能的技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!