React Hook useEffect has a missing dependency
ReactのuseEffectで依存配列に不足がある場合の警告
概要
React Hook useEffect has a missing dependency は、useEffectの依存配列に、エフェクト内で使用している変数が含まれていない場合に表示されるESLint警告です。
警告メッセージ
React Hook useEffect has a missing dependency: 'fetchData'.
Either include it or remove the dependency array.
eslint(react-hooks/exhaustive-deps)
React Hook useEffect has missing dependencies: 'id' and 'name'.
Either include them or remove the dependency array.
原因
| |
解決策
1. 依存配列に追加
| |
2. エフェクト内で関数を定義
| |
3. useCallbackでメモ化
| |
4. 関数を外部に移動
| |
よくあるパターン
オブジェクトの依存
| |
イベントハンドラとの組み合わせ
| |
setStateは依存不要
| |
ESLint警告を無効化(非推奨)
| |
無限ループの回避
| |
関連エラー
関連エラー
React の他のエラー
この記事は役に立ちましたか?