react-native-skills について
React Native や Expo アプリを開発・最適化する開発者向けの実践ルール集です。パフォーマンス、アニメーション、ナビゲーション、UI、状態、レンダリング、モノレポ、設定を扱い、個別のルールファイルに例を掲載しています。
主な機能
- 01リストとスクロールの性能指針
- 02アニメーションとナビゲーションのルール
- 03UI と画像のパターン
- 04状態管理とレンダリングの実践
- 05モノレポと設定の指針
活用シーン
- 01React Native または Expo アプリの開発
- 02大規模リストとスクロールの最適化
- 03Reanimated によるアニメーション実装
- 04ネイティブ依存関係を含むモノレポの構成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ secondsky/ claude-skills --skill react-native-skillsインストール後、Claude Code で/react-native-skillsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdrules/_sections.md_template.mdanimation-derived-value.mdanimation-gesture-detector-press.mdanimation-gpu-properties.mddesign-system-compound-components.mdfonts-config-plugin.mdimports-design-system-folder.mdjs-hoist-intl.mdlist-performance-callbacks.mdlist-performance-function-references.mdlist-performance-images.mdlist-performance-inline-objects.mdlist-performance-item-expensive.mdlist-performance-item-memo.mdlist-performance-item-types.mdlist-performance-virtualize.mdmonorepo-native-deps-in-app.mdmonorepo-single-dependency-versions.mdnavigation-native-navigators.mdreact-compiler-destructure-functions.mdreact-compiler-reanimated-shared-values.mdreact-state-dispatcher.mdreact-state-fallback.mdreact-state-minimize.mdrendering-no-falsy-and.mdrendering-text-in-text-component.md詳細
React Native スキル
React Native および Expo アプリケーション向けの包括的なベストプラクティスです。パフォーマンス、アニメーション、UI パターン、プラットフォーム固有の最適化を網羅する複数のカテゴリにわたるルールが含まれています。
適用するタイミング
次のような場合に、これらのガイドラインを参照してください。
- React Native または Expo アプリを構築するとき
- リストやスクロールのパフォーマンスを最適化するとき
- Reanimated でアニメーションを実装するとき
- 画像やメディアを扱うとき
- ネイティブモジュールやフォントを設定するとき
- ネイティブ依存関係を含むモノレポプロジェクトを構成するとき
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響 | プレフィックス |
|---|---|---|---|
| 1 | リストのパフォーマンス | CRITICAL | list-performance- |
| 2 | アニメーション | HIGH | animation- |
| 3 | ナビゲーション | HIGH | navigation- |
| 4 | UI パターン | HIGH | ui- |
| 5 | 状態管理 | MEDIUM | react-state- |
| 6 | レンダリング | MEDIUM | rendering- |
| 7 | モノレポ | MEDIUM | monorepo- |
| 8 | 設定 | LOW | fonts-, imports- |
クイックリファレンス
1. リストのパフォーマンス(CRITICAL)
list-performance-virtualize- 大規模なリストには FlashList を使用するlist-performance-item-memo- リスト項目のコンポーネントをメモ化するlist-performance-callbacks- コールバックの参照を安定させるlist-performance-inline-objects- インラインのスタイルオブジェクトを避けるlist-performance-function-references- 関数を render の外に切り出すlist-performance-images- リスト内の画像を最適化するlist-performance-item-expensive- 処理負荷の高い処理を項目の外に移動するlist-performance-item-types- 異種リストでは項目の型を使用する
2. アニメーション(HIGH)
animation-gpu-properties- transform と opacity のみをアニメーション化するanimation-derived-value- 計算を伴うアニメーションには useDerivedValue を使用するanimation-gesture-detector-press- Pressable の代わりに Gesture.Tap を使用する
3. ナビゲーション(HIGH)
navigation-native-navigators- JS ナビゲーターよりもネイティブスタックとネイティブタブを使用する
4. UI パターン(HIGH)
ui-expo-image- すべての画像に expo-image を使用するui-image-gallery- 画像のライトボックスには Galeria を使用するui-pressable- TouchableOpacity よりも Pressable を使用するui-safe-area-scroll- ScrollView でセーフエリアに対応するui-scrollview-content-inset- ヘッダーには contentInset を使用するui-menus- ネイティブのコンテキストメニューを使用するui-native-modals- 可能な場合はネイティブモーダルを使用するui-measure-views- measure() ではなく onLayout を使用するui-styling- StyleSheet.create または Nativewind を使用する
5. 状態管理(MEDIUM)
react-state-minimize- 状態の購読を最小限に抑えるreact-state-dispatcher- コールバックにはディスパッチャーパターンを使用するreact-state-fallback- 初回レンダリング時にフォールバックを表示するreact-compiler-destructure-functions- React Compiler のために分割代入するreact-compiler-reanimated-shared-values- コンパイラーで共有値を扱う
6. レンダリング(MEDIUM)
rendering-text-in-text-component- テキストを Text コンポーネントで囲むrendering-no-falsy-and- 条件付きレンダリングで falsy な値との && を避ける
7. モノレポ(MEDIUM)
monorepo-native-deps-in-app- ネイティブ依存関係はアプリのパッケージに保持するmonorepo-single-dependency-versions- パッケージ間で単一のバージョンを使用する
8. 設定(LOW)
fonts-config-plugin- カスタムフォントには設定プラグインを使用するimports-design-system-folder- デザインシステムのインポートを整理するjs-hoist-intl- Intl オブジェクトの生成を巻き上げる
使用方法
詳しい説明とコード例については、個々のルールファイルを読んでください。
rules/list-performance-virtualize.md
rules/animation-gpu-properties.md
各ルールファイルには、次の内容が含まれています。
- 重要な理由の簡単な説明
- 説明付きの誤ったコード例
- 説明付きの正しいコード例
- 追加の背景情報と参考資料
完全版ドキュメント
すべてのルールを詳しく説明した完全なガイドについては、AGENTS.md を参照してください。
コメント
Markdown 対応