スキル一覧に戻る
azu

react-you-might-not-need-an-effect

by azu

2🍴 0📅 2026年1月11日
GitHubで見るManusで実行

SKILL.md


name: react-you-might-not-need-an-effect description: Guide for writing React code without unnecessary useEffect. Use when writing or editing React components. Avoid anti-patterns like derived state, chained state updates, and event handlers in effects. allowed-tools: Read, Grep, Glob user-invocable: false

React: You Might Not Need an Effect

React公式ドキュメント「You Might Not Need an Effect」に基づき、不要なuseEffectを書かないようにする。

Instructions

Reactコンポーネントを書く・編集する際、useEffectを使う前に以下のパターンに該当しないか確認する。該当する場合はuseEffectを使わない代替案を採用する。

検出すべき12のアンチパターン

詳細は PATTERNS.md を参照。

React公式ドキュメントのパターン

パターン問題解決策
導出状態propsやstateから計算可能な値をstateで管理レンダリング時に計算
高コスト計算useEffectでキャッシュuseMemoを使用
propsでstate全体リセットuseEffectでリセットkeyを使用
props変更で一部state調整useEffectで調整レンダリング中に調整
イベントハンドラ処理useEffectでAPIコールイベントハンドラで直接処理
ロジック共有useEffectで共通処理関数を抽出して共有
状態の連鎖更新useEffectのチェーンイベントハンドラで一括更新

ESLintプラグイン追加パターン

パターン問題解決策
内部stateを親に渡すuseEffectでstateを親コールバックに渡すstateを親にリフトアップ
外部データを親に渡すuseEffectでフェッチデータを親に渡す親でデータ取得
refを親に渡すuseEffectでref.currentを親に渡すforwardRefを使用
state初期化useEffect内でリテラル値でstate設定useStateの初期値で指定
空のuseEffect中身が空のuseEffect削除する

References

スコア

総合スコア

55/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

0/5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です