概要: このチュートリアルでは、初めてのReact Nativeアプリ「Hello World」を作成する方法を学習します。
前提条件
このチュートリアルでは、React Native開発環境のセットアップが完了し、Expo Goアプリがスマートフォンにインストール済みであることを前提としています。
新しいReact Nativeプロジェクトの作成
create-expo-app
コマンドを使用して、新しいExpoおよびReact Nativeプロジェクトを作成します。このcreate-expo-app
ツールを使用すると、テンプレートを使用してプロジェクトをすばやく初期化できます。
ステップ1. ターミナルを開き、以下のコマンドを実行して、helloworld
という名前の新しいプロジェクトを作成します。
npx create-expo-app helloworld --template blank
Code language: plaintext (plaintext)
このコマンドでは
create-expo-app
コマンドは、プロジェクト用のhelloworld
ディレクトリを作成します。--template blank
オプションは、コマンドに必要なパッケージをすべてインストールし、空のReact Nativeプロジェクトを初期化することを指示します。
ステップ2. プロジェクトディレクトリに移動します
cd helloworld
Code language: plaintext (plaintext)
ステップ3. 次のコマンドを使用して、ターミナルからアプリを実行します
npm start
Code language: plaintext (plaintext)
npm start
は、アプリを実行するnpx expo start
コマンドを実行します。以下の出力が返されます。

QRコードは異なる可能性があります。
ステップ4. QRコードをスキャンして、スマートフォンでアプリを起動します。
内蔵カメラを使用してQRコードをスキャンすると、Expo Goがスマートフォンでアプリを開きます。スマートフォンに次のメッセージが表示されます。
Open up App.js to start working on your app!
Code language: CSS (css)
Hello Worldアプリ
ステップ1. お好みのコードエディタを使用してプロジェクトディレクトリを開きます。
ステップ2. App.js
ファイルを開き、コードを以下のように変更します。
import { View, Text, StyleSheet } from 'react-native';
export default function App() {
return (
<View style={styles.container}>
<Text style={styles.text}>Hello, World!</Text>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
text: {
fontSize: 40,
}
});
Code language: JavaScript (javascript)
出力
動作原理
まず、`react-native`ライブラリから`StyleSheet`、`Text`、`View`をインポートします。
import { View, Text, StyleSheet } from 'react-native';
Code language: JavaScript (javascript)
この構文では、`react-native`ライブラリから3つのオブジェクトをインポートします。
View
は、ユーザーインターフェース(UI)を構築するためのReact Nativeの基本コンポーネントです。ViewはHTMLのdiv
要素のように機能し、他のコンポーネントをラップするためのコンテナとして機能します。内部的には、React NativeはView
コンポーネントをAndroid(android.View
)とiOS(UIView
)のネイティブビューに直接変換します。Text
は、テキストを表示するためのコアコンポーネントです。StyleSheet
は、CSSスタイルシートのように機能するオブジェクトを作成します。
次に、JSXの一部を返し、デフォルトエクスポートを使用してエクスポートするApp
コンポーネントを作成します。
export default function App() {
return (
<View style={styles.container}>
<Text style={styles.text}>Hello, World!</Text>
</View>
);
}
Code language: JavaScript (javascript)
Reactと同様に、React Nativeのコンポーネントは、関数であり、いくつかのJSXを返します。
この例では、App
関数は、テキストHello, World!
を含むText
を含むView
を返します。ViewとTextコンポーネントの両方に、styles
オブジェクトからの値を受け取るstyle
というプロパティがあります。
第三に、StyleSheet
のcreate()
関数を使用してstyles
オブジェクトを定義します。
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
text: {
fontSize: 40,
}
});
Code language: JavaScript (javascript)
create()
関数では、CSSのように機能するJavaScriptオブジェクトの値を持つcontainer
とtext
の2つのプロパティを持つオブジェクトを定義し、コンポーネントのルックアンドフィールを定義します。
container
プロパティは、flex: 1
、justifyContent: center
、alignItems: center
を使用して子コンポーネントを中央(この例では画面の中央)に配置します。text
プロパティは、フォントサイズを40に指定し、Textコンポーネントのフォントサイズを40に設定します。
ファイルを保存してExpo Goを開くと、スマートフォンに瞬時に表示されます。メッセージは次のように変更されます。
Hello, World!
この機能はホットリロードと呼ばれ、開発を高速化し、コードを変更してアプリのUIの変更を瞬時に確認できます。
まとめ
npx create-expo-app project-name --template blank
を実行して、project-name
という名前のReact Nativeプロジェクトを作成します。npm start
を実行してアプリを起動し、QRコードをスキャンしてExpo Goアプリを使用してスマートフォンでアプリを起動します。