[React Native] 配列要素をループで表示する
5208 ワード
概要
通常render()のreturn内ではfor文を書けないが、配列で管理されてるデータをText等で出力したい。
実装
Sample.tsx
export class Sample extends React.Component {
render() {
var alphabet = ["A", "B", "C", "D", "E"];
return (
<View>
{
alphabet.map( data => { return (<Text key={data}>{data}</Text>) } )
}
</View>
);
}
}
- {}で括っても、ifやforなどのロジックは呼び出せない。
- 関数呼び出しは可能なので、mapを仕様してループ処理する。
- ただし警告がでるので、keyを指定する。
- keyは一意の値でなければならない。
終わりに
Sample.tsx
export class Sample extends React.Component {
render() {
var alphabet = ["A", "B", "C", "D", "E"];
return (
<View>
{
alphabet.map( data => { return (<Text key={data}>{data}</Text>) } )
}
</View>
);
}
}
早い話が、mapを使おうなって話でした。
最初はreturnの前で予め表示用のデータを配列で作るという方法を考えていたのだが、普通にパフォーマンスが悪い。
export default class Sample extends Component {
render() {
var alphabet = ["A", "B", "C", "D", "E"];
var Views: any[] = [];
for (let i = 0; i < alphabet.length; i++) {
Views.push(
<View>{alphabet[i]}</View>
);
}
return (
<View>
{Views}
</View>
);
}
}
Author And Source
この問題について([React Native] 配列要素をループで表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/RabitBox/items/16f26f40443239ab04dc著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .