📝

useEffectの依存配列に関数を追加したときの挙動

に公開

結論

関数はコンポーネントの再レンダリングのたびに、新しいインスタンスとして再生成されます。
→ 参照が変わります。

依存配列に含めた関数の参照が変わるたびにuseEffectが再実行されます。

サンプルコード

https://github.com/mutta0916/react-lab/blob/main/app/useEffect/function-deps/page.tsx

  1. Count + 1 をクリック
  2. 再レンダリング発生
  3. 関数が再生成される
  4. 参照が変わるため、useEffectが再実行される

useEffect-function-deps.gif

Discussion