react-native-core について
JavaScriptでモバイルアプリを開発する人向けのReact Nativeリファレンススキルです。基本UI、プラットフォームAPI、アクセシビリティ、アーキテクチャと実践的な指針を扱います。
主な機能
- 01基本コンポーネントとFlexboxレイアウト
- 02StyleSheetによるスタイルとテーマ設定
- 03アニメーションとタッチ操作
- 04プラットフォームAPIとネイティブ連携
- 05リスト、アクセシビリティ、デバッグ
活用シーン
- 01React NativeでモバイルUIを構築
- 02プラットフォーム固有のアプリ動作に対応
- 03一般的なUIタスク向けの基本API選定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ maikotrindade/ awesome-react-native-skills --skill react-native-coreインストール後、Claude Code で/react-native-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/best-practices-debugging.mdcomponents-ui.mdcore-components.mdcore-layout.mdcore-styling.mdfeatures-accessibility.mdfeatures-animations.mdfeatures-colors-theming.mdfeatures-easing.mdfeatures-keyboard.mdfeatures-lists.mdfeatures-network.mdfeatures-new-architecture.mdfeatures-platform-apis.mdfeatures-platform-specific.mdfeatures-share-vibration.mdfeatures-statusbar.mdfeatures-timers.mdfeatures-touch-handling.mdfeatures-transforms.md詳細
React Native コア
2026年時点の React Native ドキュメントに基づいています。
関連項目:
- エコシステムライブラリ(ナビゲーション、状態管理、TanStack Query、Reanimated)→
react-native-ecosystem- Expo SDK と EAS ツール →
react-native-expo- パフォーマンスの詳細な改善(FPS、バンドル、TTI、メモリ、ネイティブ)→
react-native-performance- React Native Testing Library の詳細 →
react-native-testing
React Native を使うと、JavaScript だけでモバイルアプリを構築できます。React と同じ設計を採用しており、宣言的なコンポーネントから豊かなモバイル UI を構成できます。React Native を使えば、Objective-C や Java で構築したアプリと見分けがつかない、本格的なモバイルアプリを構築できます。
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| コアコンポーネント | View、Text、Image、TextInput、ScrollView — 基本的な UI 構築要素 | core-components |
| Flexbox によるレイアウト | コンポーネントの配置と整列に使う Flexbox レイアウトシステム | core-layout |
| スタイリング | コンポーネントのスタイルを作成・整理する StyleSheet API | core-styling |
機能
アニメーション
| トピック | 説明 | リファレンス |
|---|---|---|
| Animated API | 組み込みの Animated API — タイミング、スプリング、合成(複雑なケースには Reanimated v3 を使用) | features-animations |
| イージング関数 | カスタムのアニメーションカーブと自然な動きのためのイージング関数 | features-easing |
ユーザー操作
| トピック | 説明 | リファレンス |
|---|---|---|
| タッチ操作 | ユーザー入力を処理する Pressable、Touchable コンポーネント、ジェスチャーレスポンダー | features-touch-handling |
| キーボード | キーボードイベントの処理、キーボードの非表示、KeyboardAvoidingView に使用する Keyboard API | features-keyboard |
UI コンポーネント
| トピック | 説明 | リファレンス |
|---|---|---|
| その他のコンポーネント | ダイアログ、切り替え、読み込み状態に使用する Modal、Switch、ActivityIndicator、RefreshControl | components-ui |
データ表示
| トピック | 説明 | リファレンス |
|---|---|---|
| リスト | 大規模なスクロール可能リストを効率的に描画する FlatList と SectionList | features-lists |
スタイリングとテーマ設定
| トピック | 説明 | リファレンス |
|---|---|---|
| 色とテーマ設定 | テーマ設定とダークモード対応のための Colors、PlatformColor、Appearance API | features-colors-theming |
プラットフォーム連携
| トピック | 説明 | リファレンス |
|---|---|---|
| プラットフォーム API | Linking、Dimensions、Platform による検出、AppState、ネイティブ連携 | features-platform-apis |
| ネットワーク | HTTP リクエスト用の Fetch API(本番アプリでは Axios + TanStack Query) | features-network |
| StatusBar | ステータスバーの外観、スタイル、表示状態を制御 | features-statusbar |
| 共有と振動 | ハプティックフィードバック用のネイティブ共有ダイアログとデバイスの振動 | features-share-vibration |
| タイマー | スケジュール設定と遅延に使用する setTimeout、setInterval、requestAnimationFrame | features-timers |
| プラットフォーム固有 API | Android(ToastAndroid、DrawerLayoutAndroid)および iOS(ActionSheetIOS)のネイティブパターン | features-platform-specific |
アクセシビリティ
| トピック | 説明 | リファレンス |
|---|---|---|
| アクセシビリティ | スクリーンリーダーのサポート、アクセシビリティラベル、ロール、状態 | features-accessibility |
高度なスタイリング
| トピック | 説明 | 参照 |
|---|---|---|
| トランスフォーム | 回転、拡大縮小、移動、傾斜のための2Dおよび3Dトランスフォーム | features-transforms |
アーキテクチャ
| トピック | 説明 | 参照 |
|---|---|---|
| 新しいアーキテクチャ | Fabric、JSI、TurboModules — RN 0.76以降でデフォルトになったアーキテクチャがコードに与える影響 | features-new-architecture |
ベストプラクティス
| トピック | 説明 | 参照 |
|---|---|---|
| デバッグ | React Native DevTools、LogBox、Dev Menu、デバッグ手法 | best-practices-debugging |
主な推奨事項
- すべてのスタイルでインラインオブジェクトではなく
StyleSheet.create()を使用します - 長いリストにはScrollViewではなく FlatListを使用します
- 新しいタッチ操作には Pressableを使用します(非推奨のTouchableコンポーネントより推奨)
- アニメーション:単純なケースには組み込みの
AnimatedAPIで十分です。複雑なアニメーションやジェスチャー駆動のアニメーションにはReanimated v3を使用します - 権限:低レベルの
PermissionsAndroidではなく、クロスプラットフォームの権限処理にreact-native-permissionsを使用します Platform.select()とPlatform.OSでプラットフォーム間の違いに対応します- 実機でテストします — シミュレーターの動作は実際のデバイスと異なる場合があります
- 型安全性と開発者エクスペリエンスを向上させるために TypeScriptを使用します
- RN 0.76以降では 新しいアーキテクチャがデフォルトです — Fabric、JSI、TurboModulesが有効になっています。ライブラリの互換性を確認してください
コメント
Markdown 対応