Open2

react.dev の useCallback メモ

ナガナガ

useCallback って何なの

  • 関数をキャッシュできるようにするフック
  • useCallback はコンポーネントのトップレベルか独自のフックでのみ呼び出すことが出来る
    • ループや条件文の中では呼び出せない
  • パフォーマンスの最適化として用いるもの
  • カスタムフックを書いている場合、カスタムフックが返す関数は useCallback でラップすることが推奨されている
    • フックを利用する側が用途に応じて自身のコードを最適化できるようにするため

useMemo との違い

  • useMemo は関数の呼び出し結果をキャッシュする
    • 第一引数の関数は引数を受け取らない
  • useCallback は関数自体をキャッシュする
    • 第一引数の関数が引数を受け取れる