Agent Skills by ALSEL
Anthropic Claudeソフトウェア開発⭐ リポ 0品質スコア 50/100

react18-lifecycle-patterns

React 18.3.1 を対象に、`componentWillMount`・`componentWillReceiveProps`・`componentWillUpdate` の3つの非推奨ライフサイクルメソッドについて、移行前後の正確なコードパターンを提供します。クラスコンポーネントのライフサイクル移行が必要な場合、`getDerivedStateFromProps` と `componentDidUpdate` の使い分け、`getSnapshotBeforeUpdate` の追加、または React 18 の `UNSAFE_` 警告の解消が必要な場面で使用してください。ライフサイクル移行コードを書く前に必ずこのスキルを参照し、記憶に頼った実装による典型的なミスをデシジョンツリーで防ぎます。

description の原文を見る

Provides exact before/after migration patterns for the three unsafe class component lifecycle methods - componentWillMount, componentWillReceiveProps, and componentWillUpdate - targeting React 18.3.1. Use this skill whenever a class component needs its lifecycle methods migrated, when deciding between getDerivedStateFromProps vs componentDidUpdate, when adding getSnapshotBeforeUpdate, or when fixing React 18 UNSAFE_ lifecycle warnings. Always use this skill before writing any lifecycle migration code - do not guess the pattern from memory, the decision trees here prevent the most common migration mistakes.

SKILL.md 本文

React 18 ライフサイクルパターン

React 18.3.1 への準拠に向けて、3つの unsafe なクラスコンポーネントライフサイクルメソッドを移行するためのリファレンス。

クイック判定ガイド

ライフサイクルメソッドを移行する前に、そのメソッドが何をしているかのセマンティックカテゴリを特定してください。カテゴリを間違えれば移行パターンも間違います。以下のテーブルで正しいリファレンスファイルにルーティングされます。

componentWillMount - 何をしていますか?

処理内容正しい移行先リファレンス
初期状態を設定する(this.setState(...))constructor へ移動→ componentWillMount.md
副作用を実行する(fetch、subscription、DOM操作)componentDidMount へ移動→ componentWillMount.md
props から初期状態を導出するprops 付き constructor へ移動→ componentWillMount.md

componentWillReceiveProps - 何をしていますか?

処理内容正しい移行先リファレンス
props 変更により発火する非同期副作用(fetch、キャンセル)componentDidUpdate→ componentWillReceiveProps.md
新しい props からの純粋な状態導出(副作用なし)getDerivedStateFromProps→ componentWillReceiveProps.md

componentWillUpdate - 何をしていますか?

処理内容正しい移行先リファレンス
更新前にDOMを読む(スクロール、サイズ、位置)getSnapshotBeforeUpdate→ componentWillUpdate.md
リクエストをキャンセルする / 更新前に副作用を実行する前の値と比較する componentDidUpdate→ componentWillUpdate.md

UNSAFE_ プレフィックスルール

UNSAFE_componentWillMountUNSAFE_componentWillReceivePropsUNSAFE_componentWillUpdate を永続的な解決策として使用しないでください。

プレフィックスを付けるとReact 18.3.1 の警告は消えますが、以下を実現しません

  • concurrent mode の安全性問題を修正する
  • React 19 への対応(これらはプレフィックスの有無を問わず削除される)
  • その移行が解決すべき根本的なセマンティック問題を修正する

UNSAFE_ プレフィックスは実移行スプリントの予定をまでの一時的な対応としてのみ適切です。UNSAFE_ プレフィックス追加時に以下とともにマークしてください:

// TODO: React 19 はこれを削除します。React 19 アップグレード前に移行してください。
// UNSAFE_ プレフィックスを一時的に追加しました - componentDidMount / getDerivedStateFromProps / など に置き換えてください。

リファレンスファイル

移行するライフサイクルメソッドの完全なリファレンスファイルを読んでください:

  • references/componentWillMount.md - 3つのケースと完全な before/after コード
  • references/componentWillReceiveProps.md - getDerivedStateFromProps トラップ警告、完全な例
  • references/componentWillUpdate.md - getSnapshotBeforeUpdate + componentDidUpdate のペアリング

移行コードを書く前に関連するファイルを読んでください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
github
リポジトリ
github/awesome-copilot
ライセンス
MIT
最終更新
不明

Source: https://github.com/github/awesome-copilot / ライセンス: MIT

関連スキル

汎用ソフトウェア開発⭐ リポ 39,967

doubt-driven-development

重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 1,175

apprun-skills

TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。

by yysun
OpenAIソフトウェア開発⭐ リポ 797

desloppify

コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。

by Git-on-my-level
汎用ソフトウェア開発⭐ リポ 39,967

debugging-and-error-recovery

テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

test-driven-development

テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。

by addyosmani
汎用ソフトウェア開発⭐ リポ 39,967

incremental-implementation

変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。

by addyosmani
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: github · github/awesome-copilot · ライセンス: MIT