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

react-native-dev

React NativeおよびExpoを用いたアプリ開発全般をカバーするガイドで、コンポーネント設計・スタイリング・アニメーション・ナビゲーション・状態管理・フォーム・ネットワーク通信・パフォーマンス最適化・テスト・ネイティブ機能・プロジェクト構成・デプロイ・CI/CDまで網羅しています。React NativeまたはExpoアプリの構築、アニメーションやネイティブUIの実装、データ取得、テスト作成、App Store/Play Storeへのリリース、Expo SDKのアップグレード、Tailwind/NativeWindの設定など、あらゆる場面で活用できます。

description の原文を見る

| React Native and Expo development guide covering components, styling, animations, navigation, state management, forms, networking, performance optimization, testing, native capabilities, and engineering (project structure, deployment, SDK upgrades, CI/CD). Use when: building React Native or Expo apps, implementing animations or native UI, managing state, fetching data, writing tests, optimizing performance, deploying to App Store/Play Store, setting up CI/CD, upgrading Expo SDK, or configuring Tailwind/NativeWind.

SKILL.md 本文

React Native & Expo 開発ガイド

本番環境対応の React Native および Expo アプリケーション構築のための実用的なガイド。UI、アニメーション、状態、テスト、パフォーマンス、デプロイをカバーしています。

リファレンス

必要に応じてこれらのリソースを参照してください:

  • references/navigation.md — Expo Router: Stack、Tabs、NativeTabs (headerLargeTitleheaderBackButtonDisplayMode)、リンク、モーダル、シート、コンテキストメニュー
  • references/components.md — FlashList パターン、expo-image、セーフエリア (contentInsetAdjustmentBehavior)、ネイティブコントロール、ブラー/グラスエフェクト、ストレージ
  • references/styling.md — StyleSheet、NativeWind/Tailwind、プラットフォームスタイル、テーミング、ダークモード
  • references/animations.md — Reanimated 3: 入退出、共有値、ジェスチャー、スクロール駆動
  • references/state-management.md — Zustand (セレクター、永続化)、Jotai (アトム、派生)、React Query、Context
  • references/forms.md — React Hook Form + Zod: バリデーション、マルチステップ、動的配列
  • references/networking.md — fetch ラッパー、React Query (楽観的更新)、認証トークン、オフライン、API ルート、Webhook
  • references/performance.md — プロファイリングワークフロー、FlashList + memo、バンドル分析、TTI、メモリリーク、アニメーションパフォーマンス
  • references/testing.md — Jest、React Native Testing Library、Maestro による E2E
  • references/native-capabilities.md — カメラ、位置情報、パーミッション (use*Permissions フック)、ハプティクス、通知、バイオメトリクス
  • references/engineering.md — プロジェクトレイアウト (components/ui/stores/services/)、パスエイリアス、SDK アップグレード、EAS ビルド/送信、CI/CD、DOM コンポーネント

クイックリファレンス

コンポーネントの推奨事項

用途使用避けるべき
リストFlashList (@shopify/flash-list) + memo アイテムFlatList (ビュー再利用なし)
画像expo-imageRN <Image> (キャッシュなし、WebP 非対応)
プレスPressableTouchableOpacity (レガシー)
オーディオexpo-audioexpo-av (非推奨)
ビデオexpo-videoexpo-av (非推奨)
アニメーションReanimated 3RN Animated API (限定的)
ジェスチャーGesture HandlerPanResponder (レガシー)
プラットフォーム確認process.env.EXPO_OSPlatform.OS
ContextReact.use()React.useContext() (React 18)
セーフエリアスクロールcontentInsetAdjustmentBehavior="automatic"<SafeAreaView>
SF Symbolsexpo-image with source="sf:name"expo-symbols

スケーリング

状況検討対象
長いリストでスクロール時のジャンク仮想化リストライブラリ (例: FlashList)
Tailwind スタイルのクラスが必要NativeWind v4
ストレージの読み取り頻度が高い同期ベースのストレージ (例: MMKV)
Expo での新規プロジェクトReact Navigation ではなく Expo Router を使用

状態管理

状態タイプソリューション
ローカル UI 状態useState / useReducer
共有アプリ状態Zustand または Jotai
サーバー / 非同期データReact Query
フォーム状態React Hook Form + Zod

パフォーマンス優先度

優先度問題修正
重大長いリストのジャンクFlashList + メモ化されたアイテム
重大大きなバンドルバレルインポートを回避、R8 を有効化
再レンダリングが多いZustand セレクター、React Compiler
起動が遅いバンドル圧縮を無効化、ネイティブナビゲーション
アニメーションがドロップtransform/opacity のみをアニメート化

新規プロジェクト初期化

# 1. プロジェクトを作成
npx create-expo-app@latest my-app --template blank-typescript
cd my-app

# 2. Expo Router + コア依存関係をインストール
npx expo install expo-router react-native-safe-area-context react-native-screens

# 3. (オプション) よく使う追加パッケージ
npx expo install expo-image react-native-reanimated react-native-gesture-handler

その後、以下を設定します:

  1. package.json のエントリーポイントを設定: "main": "expo-router/entry"
  2. app.json にスキームを追加: "scheme": "my-app"
  3. App.tsxindex.ts を削除
  4. ルート Stack レイアウトとして app/_layout.tsx を作成
  5. タブナビゲーション用に app/(tabs)/_layout.tsx を作成
  6. app/(tabs)/ 内にルートファイルを作成 (navigation.md を参照)

Web サポートの場合、さらに以下もインストール: npx expo install react-native-web react-dom @expo/metro-runtime

コアプリンシパル

参照資料を先に確認する: ナビゲーション、リスト、ネットワーキング、プロジェクトセットアップを実装するときは、上記の対応する参照ファイルを読んでパターンと落とし穴を確認してください。

最初に Expo Go で試す (npx expo start)。カスタムビルド (eas build) が必要なのは、ローカル Expo モジュール、Apple ターゲット、または Expo Go に含まれていない サードパーティネイティブモジュールを使用する場合のみです。

条件付きレンダリング: {count && <Text />} ではなく {count > 0 && <Text />} を使用 ("0" がレンダリングされます)。

アニメーションルール: transformopacity のみをアニメート化 — GPU コンポジット済み、レイアウトスラッシュなし。

インポート: 常にソースから直接インポート。バレルファイルからのインポートは避ける — バンドルブロートを回避します。

リストと画像: FlatList または RN Image を使用する前に、上記のコンポーネント推奨表を確認してください — FlashListexpo-image がほぼ常に正しい選択肢です。

ルートファイル: 常に kebab-case を使用。app/ 内にコンポーネント/型/ユーティリティを共存させないでください。

チェックリスト

新規プロジェクトセットアップ

  • tsconfig.json パスエイリアスが設定されている
  • EXPO_PUBLIC_API_URL 環境変数が環境ごとに設定されている
  • ルートレイアウトに GestureHandlerRootView がある (ジェスチャーを使用する場合)
  • すべてのスクロールビューで contentInsetAdjustmentBehavior="automatic" が設定されている
  • 20 項目以上のリストに FlatList ではなく FlashList を使用

配信前

  • --profile モードでプロファイリング、フレーム > 16ms を修正
  • バンドルを分析 (source-map-explorer)、バレルインポートなし
  • Android で R8 を有効化
  • 重要なパスのユニット + コンポーネントテスト
  • ログイン、コア機能、チェックアウトの E2E フロー

Flutter 開発 → flutter-dev スキルを参照してください。 iOS ネイティブ (UIKit/SwiftUI) → ios-application-dev スキルを参照してください。 Android ネイティブ (Kotlin/Compose) → android-native-dev スキルを参照してください。

React Native は Meta Platforms, Inc. の商標です。Expo は 650 Industries, Inc. の商標です。その他すべての製品名はそれぞれの所有者の商標です。

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

詳細情報

作者
minimax-ai
リポジトリ
minimax-ai/skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/minimax-ai/skills / ライセンス: 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 フォームよりご連絡ください。
原作者: minimax-ai · minimax-ai/skills · ライセンス: MIT