[解決済み] React-nativeで要素をループさせてレンダリングする方法とは?
2023-07-05 10:16:25
質問
Render機能で、同一コンポーネントをループさせることは可能ですか。
このようなものです。
...
onPress = () => {
...
};
initialArr = [["blue","text1"],["red","text2"]];
buttonsListArr = [];
for (let i = 0; i < initialArr.length; i++)
{
buttonsListArr.push(
<Button style={{borderColor:{initialArr[i][0]}}} onPress={this.onPress.bind(this)}>{initialArr[i][1]}</Button>
);
}
...
render() {
return (
<View style={...}>
{buttonsListArr}
</View>
)};
私は、これは単にコンポーネントの有限のリストであることを意味するので、ListView / ScrollViewなどのコンポーネントは、この特定のケースに適用されません。これは単なる構文の質問です。
どのように解決するのですか?
このような場合、通常、mapを使用します。
buttonsListArr = initialArr.map(buttonInfo => (
<Button ... key={buttonInfo[0]}>{buttonInfo[1]}</Button>
);
(キーはReactでマッピングを行うときは必ず必要なpropです。キーは生成されるコンポーネントの一意な識別子である必要があります)
余談ですが、私なら配列ではなくオブジェクトを使います。その方が見た目がきれいだと思うからです。
initialArr = [
{
id: 1,
color: "blue",
text: "text1"
},
{
id: 2,
color: "red",
text: "text2"
},
];
buttonsListArr = initialArr.map(buttonInfo => (
<Button ... key={buttonInfo.id}>{buttonInfo.text}</Button>
);
関連
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み] React / React Nativeでコンストラクタを使用する場合とgetInitialStateを使用する場合の違いとは何ですか?
-
[解決済み] react-nativeでキーボードを隠す
-
[解決済み] React Nativeの<Text>コンポーネントに改行を挿入するにはどうすればよいですか?
-
[解決済み] React Nativeでロギングを行う方法
-
[解決済み] React Native - StyleSheetを使用する利点は、プレーンなオブジェクトと比較して何ですか?
-
[解決済み] Error: Unable to resolve module `react-native-gesture-handler`.
-
[解決済み] React Native のフラットリスト、カラム、最後のアイテム幅
-
[解決済み] React Nativeで画像の高さを自動調整する
-
[解決済み] React Native for androidでシャドウを設定するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] TouchableNativeFeedback、TouchableHighlight、TouchableOpacityをいつ使うか?
-
[解決済み] react nativeプロジェクトにインストールされたライブラリを削除する方法
-
[解決済み] React Nativeのエラー。"javaのバージョンを'9.0.1'から決定できませんでした。"
-
[解決済み] React Native アニメーション、完全なイベント
-
[解決済み] React Nativeで電話をかけるには?
-
[解決済み] React Nativeで「リモートデバッガがバックグラウンドのタブにある」という警告を消す。
-
[解決済み] React Nativeで画像の高さを自動調整する
-
[解決済み] モジュール `@babel/runtime/helpers/interopRequireDefault` を解決できない。
-
[解決済み] React NativeのDEVとPRODの変数
-
[解決済み] Reduxでストアの単一のプロパティ変更にサブスクライブする