React アプリケーションでは、特にアプリがスケールするにつれてパフォーマンスが鍵となります。このガイドでは、useMemo と useCallback が React コンポーネントを最適化し、不必要な再レンダリングを回避するのにどのように役立つかを説明します。
React の再レンダリング動作は強力ですが、適切に管理しないとパフォーマンスのボトルネックにつながる可能性があります。 useMemo と useCallback は、これらの問題に対処するために設計された 2 つのフックです。
useMemo は計算結果を記憶し、依存関係が変更された場合にのみ計算を再計算します。
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
React コンポーネントでの高コストの計算を想像してください:
import React, { useMemo } from "react"; function ExpensiveComponent({ a, b }) { const expensiveValue = useMemo(() => { console.log("Calculating..."); return a + b; }, [a, b]); return <div>Result: {expensiveValue}</div>; }
useMemo を使用しない場合、a または b が変更されていない場合でも、この計算はレンダリングごとに実行されます。
useCallback は関数インスタンスを記憶し、依存関係が変更された場合にのみ再作成されるようにします。これは、コールバックを子コンポーネントに渡すときに特に便利です。
const memoizedCallback = useCallback(() => doSomething(a, b), [a, b]);
不必要な子の再レンダリングを回避します:
import React, { useCallback } from "react"; function ParentComponent() { const handleClick = useCallback(() => { console.log("Button clicked!"); }, []); return <ChildComponent onClick={handleClick} />; } function ChildComponent({ onClick }) { console.log("Child rendered"); return <button onClick={onClick}>Click Me</button>; }
詳細な説明と実践的な例については、スクリプト バイナリに関する完全なガイドを参照してください。
React のヒントやチュートリアルをさらに知りたい場合は、私をフォローしてください!以下のコメントでつながりましょう。
以上がuseMemo と useCallback を使用した React アプリの最適化: 完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。