Expo Goで始めるReact Native超入門

スポンサーリンク
この記事は約46分で読めます。

React Nativeは、JavaScript(またはTypeScript)でiOS・Androidアプリを同時に作れる仕組みです。

Expoはその環境構築を自動化してくれるツールで、コマンド一発でアプリを実機で動かせるのが最大の特徴です。

この記事では、Windows(WSL)上に、Expoプロジェクトを構築してToDoアプリを作りながら、React Nativeの仕組みと基礎的なコードの書き方を学びます。

ToDoアプリを作りながら学ぶReact Nativeの基礎

React Nativeをこれから始める初心者に最適なExpo Go入門記事。環境構築なしで実機確認できる方法から、画面作成・データ保存・ナビゲーションまでをやさしく解説します。

Expoプロジェクトの作成

最初に、Expo DocumentのGet started->Create a projectに従って、Expoプロジェクトを作成します。

ドキュメントに従って、npx create-expo-app@latestを入力します。

What is your app named? …を表示して、プロジェクト名入力待ちになるので、今回は、 my-todo-app(任意のプロジェクト名)を入力します。
プロジェクト名を入力すると、Expoプロジェクトのインストールが始まり、この画面の最後まで進みます。

Expoプロジェクトのインストールが完了すると、以下のフォルダーやファイルが作成されます。

Expoインストール後の構成

スマホ(Iphone)にExpo Goアプリをインストールする

App Storeを開き、検索バーに「Expo Go」と入力してて、検索結果からExpo Goアプリ(開発元はExponent, Inc.)を見つけます。

アプリ名の横にある「入手」ボタンをタップして、インストールを行います。

この後、React Nativeの開発サーバーを起動すると、実機にインストールしたExpo Goアプリで、アプリの動作確認ができます。

Anroid Studioのスマホエミュレーターをインストールすると、スマホエミュレーターでReact Nativeで作成されたアプリの動作確認ができます。

Expo開発サーバーを起動する

開発サーバーを起動するには、ExpoドキュメントのStart a development serverに従って、次のコマンドを実行します。

エラーが生じて、起動できない場合は、ExpoドキュメントのHaving problems?に従って、以下のコマンドを実行します。

開発サーバーが正常に起動すると以下の様なQRコードが表示されます。

開発サーバーが起動してQRコードを表示した状態。
(図は、セキュリティーの関係で赤色のバーで隠してあります。)

スマホ(Iphone)のカメラで読み取り、黄色のExpoGoで開くをタップします。

スマホ(Iphone)のカメラで読み取った状態

Welcome!👋画面の表示

React Nativeのプログラムが正常に読み込まれると、下記のWelcome!画面が表示されます。

Welcome!画面

Welcome!画面は、(tabs)フォルダーの中のindex.tsxが表示されています。

(Expo Goは、appフォルダの中にindex.tsxがない場合は、(tabs)フォルダーの中のindex.tsxを起動します。)

(tabs) index.tsx

(tabs)フォルダーの中には、index.tsxとexplore.tsxが存在し、この2つのファイルを画面下段のタブで切り替えて表示する作りとなっています。

プロジェクトをリセットする

Expoドキュメントに従い次のステップへ進みます。

次のステップでは、この定型コードを削除して、新しいプロジェクトを最初から始めるために、次のコマンドを入力します。

このコマンドでは、app内の現在のファイルが、app-exampleフォルダに移され、新しいindex.tsxファイルを含む新しいappフォルダが作成されます。

プロジェクトをリセット後のフォルダ構成は、下記の様になります。
(app内の現在のファイルを、app-exampleに移動した場合。)

reset-project実行後のフォルダ構成

また、下記の様にWelcome!画面は、Edit app/index.tsx to edit this screen.メッセージを表示する新しいindex.tsxファイルの内容です。

reset-project実行後の表示内容

ToDoブアプリの作成

AsyncStorage機能を使用して、追加・削除・アーカイブ機能を持つ基本的なToDoアプリを作成します。

ディレクトリとファイル構成

各ファイルの内容

各ファイルの内容を以下の内容に置き換えます。

app/_layout.tsx

アプリ全体のレイアウト設定するために、app/_layout.tsx を以下の内容で置き換えます。

この設定により、「下タブ付きアプリ+モーダル画面」の構成ができます。
headerShown: false にしているので、上部タイトルバーを自分で作れる自由設計です。

app/(tabs)/_layout.tsx

タブレイアウトの設定のために、app/(tabs)/_layout.tsx を作成します。

この設定により、画面下部のタブにindex、todo、archiveのタブが表示されます。

app/(tabs)/index.tsx

🏠アプリ立ち上げ時に表示されるデフォルト画面(ホーム画面)です。

app/(tabs)/todo.tsx

📝タスクを追加/完了/削除する機能を持つToDo画面です。

app/(tabs)/archive.tsx

📂完了済みをアーカイブするアーカイブ画面です。

AsyncStorageのインストール

AsyncStorage とは “ローカルストレージ操作用の API で、React Native アプリにおける“永続的なローカルデータ保存”の標準的な手段 です。

AsyncStorageの機能

スマホ本体のストレージに「キーと値」でデータを保存する

  • 永続保存(アプリを閉じても残る)
  • 保存できるのは文字列(JSON を入れる場合は stringify)
  • 小規模データ向けToDo リスト、設定値など

React Native(Expo)では AsyncStorage は標準では含まれていないため、以下のコマンドでインストールします。

動作確認

React Nativeの開発サーバーを起動すると同様の手順で、ToDoアプリを起動します。

ToDoアプリが正常に起動したら、実機(iphone)で、以下の操作を行いToDoアプリの動作確認を行います。

  1. カメラを起動し、QRコードを読み取る
  2. 下のタブ「ToDo」を開く
  3. タスクを追加/完了/削除してみる
  4. 完了済みをアーカイブして「Archive」タブで確認する
  5. アーカイブからの復元操作を確認する
Home画面
ToDo画面
Archive画面

動作確認が終わったら

今回作成したExpoプロジェクトは、Gitリポジトリとなっており、インストール完了時点で、以下のコミットメッセージを付けてコミットされています。

ToDoアプリの動作確認が終わったら、機能追加や改造をする前に、現状をコミットしておきましょう。

動作確認が取れた状態をコミットしておくと、機能追加や改造でエラーが発生した場合でもいつでも、戻ってやり直すことが出来ます。

Gitに関しては、以下を参考にしてください。

Android エミュレーターの利用

Android エミュレーターで、動作確認を行いたい場合は、以下のページを参考にしてAndroid エミュレーターをインストールして確認してください。

参考:wslインストール

WSL(Windows Subsystem for Linux)とは、
Windows の中で Linux を“直接ネイティブ実行できる”仕組みのことです。

Wslの構造

WSLは、現在のWindows(Windows 10 バージョン 2004以上、またはWindows 11)では、コマンド1つでに簡単にインストールできます。

インストール手順

手順 ①:PowerShellを管理者権限で開く

  1. スタートボタンを右クリックします。
  2. 「ターミナル (管理者)」 または 「Windows PowerShell (管理者)」 を選択します。
  3. 「このアプリがデバイスに変更を加えることを許可しますか?」と出たら「はい」を押します。

手順 ②:インストールコマンドを実行する

開いた画面(青または黒の画面)に、以下のコマンドを入力してEnterキーを押します。

このコマンドは以下の処理を自動で行います。

  • WSLに必要なWindowsの機能の有効化
  • Linuxカーネルのダウンロード
  • WSL 2 を既定値に設定
  • Ubuntu(標準のLinuxディストリビューション)のインストール

手順 ③:PCを再起動する

インストールが完了すると、画面に「再起動してください」という旨のメッセージが表示されます。
一度、Windowsを再起動します。

手順 ④:初期設定(ユーザー名とパスワード)

再起動後、自動的に黒い画面(Ubuntuのターミナル)が立ち上がります。
※立ち上がらない場合は、スタートメニューから「Ubuntu」を探してクリックしてください。

数分待つと、ユーザー作成を求められます。

  1. Enter new UNIX username:
    • 好きなユーザー名を半角英数字で入力してEnter(例: taro)。
    • 注: Windowsのユーザー名と同じである必要はありません。
  2. New password:
    • パスワードを入力してEnter。
  3. Retype new password:
    • もう一度パスワードを入力してEnter。
error: Content is protected !!