【React】useCallbackの使い方

目次

使い方

useCallback関数の定義と一緒に使用します。

const memoizedFunction = useCallback(
  () => {
    // 関数の本体
  },
  [/* 依存配列 */]
);

useCallback は2つの引数を取ります:

  • 第1引数: メモ化(記憶)したい関数
  • 第2引数: 依存配列(この配列の値が変わったときだけ、関数が再作成されます)
通常の関数定義 再レンダリングごとに 新しい関数が作成される 関数 ver.1 関数 ver.2 useCallback 一度作成された関数が 再利用される 関数 ver.1 (メモ化された関数)
  • 「memo化」されたコンポーネントはpropsに変更がない限りレンダリングされない
  • 「memo化」していてもpropsにアロー関数をわたしている場合、アロー関数は毎回再生成されるので毎回再レンダリングされてしまう
  • 「useCallback」で関数のmemo化すると再レンダリングを防ぐことができます

この記事を書いた人

目次