React Nativeの重要なコアコンポーネント一覧と使い方を解説
React Nativeには、アプリ開発に欠かせない重要なコアコンポーネントがいくつか存在します。これらのコンポーネントは、実行されるプラットフォーム(Android・iOS・Webブラウザ)に応じて、自動的に対応するネイティブビューへと変換されます。
本記事では、主要なコアコンポーネントの一覧と、それぞれが各プラットフォームでどのようにマッピングされるのかを詳しく解説し、最後に実際のコード例をご紹介します。
React Nativeの主要コアコンポーネント
| React Nativeコンポーネント | Androidネイティブビュー | iOSネイティブビュー | Webブラウザ | 説明 |
|---|---|---|---|---|
| View - <View> | Androidデバイスで表示される場合、<ViewGroup> に変換されます。 | iOSデバイスで表示される場合、<UIView> に変換されます。 | Webブラウザで表示される場合、<div> タグに変換されます。 | flexboxレイアウトをサポートする中核的なコンテナです。タッチ操作のハンドリングも担当します。 |
| Text - <Text> | Androidデバイスで表示される場合、<TextView> に変換されます。 | iOSデバイスで表示される場合、<UITextView> に変換されます。 | Webブラウザで表示される場合、<p> タグに変換されます。 | ユーザーにテキストを表示するために使用します。スタイリングやタッチイベントの処理にも対応しています。 |
| Image - <Image> | Androidデバイスで表示される場合、<ImageView> に変換されます。 | iOSデバイスで表示される場合、<UIImageView> に変換されます。 | Webブラウザで表示される場合、<img> タグに変換されます。 | 画像を画面に表示するために使用します。 |
| ScrollView - <ScrollView> | Androidデバイスで表示される場合、<ScrollView> に変換されます。 | iOSデバイスで表示される場合、<UIScrollView> に変換されます。 | Webブラウザで表示される場合、<div> タグに変換されます。 | 複数のコンポーネントやビューを格納できる、スクロール可能なコンテナです。 |
| TextInput - <TextInput> | Androidデバイスで表示される場合、<EditText> に変換されます。 | iOSデバイスで表示される場合、<UITextField> に変換されます。 | Webブラウザで表示される場合、<input type="text"> タグに変換されます。 | ユーザーがテキストを入力できる入力要素です。 |
実装例
それでは、<View>、<Text>、<Image>、<ScrollView>、<TextInput> を組み合わせた実際に動作するサンプルコードを見ていきましょう。
これらのコンポーネントを使用するには、まず react-native から必要なコンポーネントをインポートします。
import { View, Text, Image, ScrollView, TextInput } from 'react-native';Viewコンポーネントの基本構成
<View> コンポーネントは、テキストやボタン、画像などの要素をまとめて配置するための親コンテナとして主に使用されます。以下のように記述します。
<View>
<Text style={{ padding:"10%", color:"red" }}>Inside View Container</Text>
<Image
source={{
uri: 'https://www.tutorialspoint.com/react_native/images/logo.png',
}}
style={{ width: 311, height: 91 }}
/>
</View>上記のコードでは、<View> の内部に <Text> と <Image> コンポーネントを配置しています。
すべてのコアコンポーネントを組み合わせた完全なサンプル
<ScrollView> は親コンポーネントとして機能し、<View>、<Text>、<Image>、<Button> など、他のReact Nativeコンポーネントを内包してスクロール可能な画面を実現します。
import React from 'react';
import { View, Text, Image, ScrollView, TextInput } from 'react-native';
const App = () => {
return (
<ScrollView>
<Text style={{ padding:"10%", color:"green", "fontSize":"25" }}>Welcome to TutorialsPoints!</Text>
<View>
<Text style={{ padding:"10%", color:"red" }}>Inside View Container</Text>
<Image
source={{
uri:'https://www.tutorialspoint.com/react_native/images/logo.png',
}}
style={{ width: 311, height: 91 }}
/>
</View>
<TextInput
style={{
height: 40,
borderColor: 'black',
  borderWidth: 1
}}
defaultValue="Type something here"
/>
</ScrollView>
);
}
export default App;このサンプルでは、<ScrollView> 内にウェルカムメッセージを表示する <Text>、テキストと画像を含む <View>、そしてユーザー入力を受け付ける <TextInput> を配置しています。
出力結果
上記のコードを実行すると、以下のような画面が表示されます。

-
【初心者向け】React Nativeのアニメーション徹底解説!Animated APIとLayoutAnimationの使い方
React Nativeには、コンポーネントにインタラクティブ性を持たせるためのアニメーション機能が標準で用意されています。アニメーションは、View、Text、Image、ScrollView、FlatList、SectionListなど、主要なコンポーネントに対して適用できます。React Nativeが提供するアニメーションの種類は主に以下の2つです。Animated APILayoutAnimationAnimated APIとはAnimated APIは、入力値から出力値への時間ベースのアニメーションを実現するためのAPIです。ここでは、Animated.timing()を使ってボッ
-
React Nativeで「テキスト文字列は<Text>コンポーネント内にレンダリングする必要があります」エラーを解決する方法
React Nativeでアプリを開発していると、「テキスト文字列は<Text>コンポーネント内にレンダリングする必要があります(Text strings must be rendered within a <Text> component)」というエラーに遭遇することがあります。本記事では、このエラーが発生するコード例をもとに、その原因と具体的な解決方法をわかりやすく解説します。 エラーが発生するコード例 import React from react; import { Image, Text, View, StyleSheet } from react-nativ