React Native Course
AI

画面文言・画面名に近いファイル・保存と取得の処理。シリーズで学んだ読み方を、AI 生成プロジェクトで総復習する最終話です。

AI 生成 RN コードの読み方 — 最初に見る 3 箇所

AI やテンプレートで React Native プロジェクトをもらっても、最初から全部読む必要はありません。第1話でも書いたとおり、フォルダ一覧を上から追うより、いま画面に出ているものから入る方が早いです。

第1話 から 第5話 では、画面・state・ルート・フォーム・API を バラバラに 練習してきました。最終話では、それらを 3 箇所に固定 して総復習します。新しい API の実装はほとんど扱わず、読み解き(B) に集中する記事です。

この記事で扱うこと

箇所シリーズでの出典読み解きのゴール
① 画面文言第1話見えている文字列から定義箇所へ
② 画面名に近いファイル第3話文言がヒットしないときの入口
③ 保存・取得第5話リスト・永続化の処理を辿る

題材プロジェクト(合成サンプル)

本記事では、第1〜5話の要素を含む 小型の合成サンプル を題材にします。実在のリポジトリではなく、読み解きの練習用イメージです。

app/
├── _layout.tsx
├── index.tsx          # 「ようこそ」+ 投稿一覧への Link
├── settings.tsx       # 「通知を受け取る」トグル
└── posts/
    └── index.tsx      # 投稿一覧(fetch + FlatList)

app/index.tsx の冒頭は次のようなイメージです。

export default function HomeScreen() {
  return (
    <View style={styles.container}>
      <Text style={styles.title}>ようこそ</Text>
      <Link href="/posts">投稿一覧へ</Link>
    </View>
  );
}

app/posts/index.tsx では第5話と同型で fetchFlatList を使い、app/settings.tsx にはトグル用の state があります。コード全体を写経する必要はありません。検索の練習が再現できる 程度の構成です。

1. 読む前のルール

未知のプロジェクトを開いたら、次の 3 ステップだけ守ります。

  1. アプリで いまいちばん気になる画面 を 1 つ開く
  2. その画面について、① → ② → ③ の順で見る(他のファイルは後回し)
  3. ヒットしなければ次の箇所へ進む(1 箇所で詰まらない)

node_modulescomponents/ui を先に読まない。第1話と同じ方針です。

2. ① 画面に出ている文言を検索する

シナリオ: ホーム画面に「ようこそ」と表示されている。

手順

  1. エディタの全文検索(macOS なら Cmd+Shift+F、Windows なら Ctrl+Shift+F)で ようこそ を探す
  2. ヒットした app/index.tsx を開く
  3. 同ファイル内の Link href="/posts" から、次に見る画面 が投稿一覧だと予測する

第1話で練習した 文言 → ファイル → 部品 の入口です。固定の挨拶文なら、ほぼこの方法で着地できます。

つまずき

症状対処
文言がヒットしない{user.name} のように動的生成の可能性 → ② へ
複数ヒットいま見ている画面のコンポーネント名や app/ 配下で絞る

3. ② 画面名に近いファイルを開く

シナリオ: 設定画面を見ている。タイトルバーは「設定」だが、「通知を受け取る」が全文検索に引っかからない(別コンポーネントに切り出されている、など)。

手順

  1. app/ 配下で settingssetting など、画面名に近いファイル名 を探す
  2. 見つからなければ app/_layout.tsx を開き、Stack.Screen の登録名を確認する
  3. UI 上の名前とファイルの対応表を 1 つ書く
UI 上の名前ファイル
ホームapp/index.tsx
設定app/settings.tsx
投稿一覧app/posts/index.tsx

第3話で学んだ パス・ファイル名 ↔ 画面 の読み方の応用です。文言検索が空振りしたときの 第二入口 になります。

4. ③ データの保存・取得を辿る

シナリオ: 投稿一覧の行タイトルが、API から来ているとわかっている。

手順

  1. 一覧に見えているタイトル文字列を検索し、renderItem 内の {item.title} を特定する(第5話と同型)
  2. FlatListdata={posts} から posts state を辿る
  3. setPostsfetchuseEffect まで遡る

設定画面のトグルなど、端末に保存 している場合は、次のキーワードでも検索します。

fetch / axios / useQuery / AsyncStorage / setItem / getItem

AsyncStorage の詳細は本記事では扱いません。「永続化がありそうなら、この語で探す」という目安で十分です。

5. 3 箇所を 1 本の流れでやり直す

課題: 「設定画面のトグルを変えたい」とき、どの順でファイルを開くか。

  1. トグル横のラベル「通知を受け取る」を全文検索する
  2. ヒットしなければ app/settings.tsx を開く(または _layout で Screen 定義を確認)
  3. ON/OFF の値がどこに保存されるか不明なら AsyncStorageuseState を検索する

第2話の 表示値 → state、第4話の 入力欄・エラー文言 も、① の検索で同じ要領です。画面の部品を変えたいときは、まず 見えている文言 から入ります。

6. AI 生成コード特有の注意

パターン読み方のコツ
components/ が厚いまず app/ の画面ファイルだけ見る
ロジックが useXxx に分割されている① で画面文言が取れた あと に hook を辿る
コメントが長い・AI 臭いコメントより UI 文言 を信頼する
Tabs や (group) フォルダがある② で _layout とファイル名の対応を先に書く

プロンプトの書き方や Cursor の使い方は本記事のスコープ外です。Substack の短尺 Tips と角度を分け、codewith では 手順・フォルダツリー・チェックリスト を厚くしています。

7. まとめ — シリーズ総復習

3 箇所チェックリスト

□ ① いま見ている文言を全文検索したか
□ ② 画面名に近いファイル、または app/_layout を開いたか
□ ③ リスト・保存・取得のキーワードで処理を辿ったか

読み解きのキーワード(シリーズ通し)

キーワード
第1話画面の文言 → ファイル → 部品
第2話表示値 → state → setXxx
第3話画面の文言 → app/ のファイル → Link の href
第4話ラベル → TextInput → value / onChangeText
第5話行の文言 → renderItem → data → fetch
第6話(本記事)①②③ をこの順で試す

シリーズ一覧

#記事
1React Native 入門 — Expo で動かしながら、画面からコードを読む
2useState で画面を動かす
3Expo Router 入門
4フォーム入力とバリデーション
5API とリスト
6本記事(読み解きの締め)

ここまでで、RN 入門シリーズ本編 6 話は一通りそろいました。次のステップは、手元のプロジェクトや /projects の実績アプリで、今日のチェックリストをそのまま試すことです。

参考リンク(シリーズ外)