技術共有

React での useCallback

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

導入

React アプリケーション開発では、コンポーネントのパフォーマンスの最適化が継続的なプロセスです。useCallbackコールバック関数をメモ化するために使用される React Hook で、これらの関数がコンポーネントのライフサイクルを通じて一貫性を保つようにすることで、不要なレンダリングやパフォーマンスの問題を回避します。

問題の背景

React では、コンポーネントの props または state が変更されると、コンポーネントは再レンダリングされます。子コンポーネントが親コンポーネントの props に依存しており、それらの props が関数である場合、親コンポーネントがレンダリングされるたびに新しい関数インスタンスが作成され、その props がレンダリングされていない場合でも、子コンポーネントも同様に再レンダリングされる可能性があります。本質的に変わった。

useCallback役割

useCallback上記の問題を解決するために使用されます。コールバック関数をメモ化し、依存関係が変更されない限り、コンポーネントの存続期間を通じて関数が変更されないようにします。

useCallbackパラメータの説明

useCallback次の 2 つのパラメータを受け入れます。

  1. 折り返し電話:メモしたい機能です。
  2. 依存関係の配列 : 関数の依存関係の値を含む配列。コールバック関数は、これらの依存関係のいずれかが変更された場合にのみ再作成されます。

基本的な構文は次のとおりです。

const memoizedCallback = useCallback(
  () =