render: function() {
console.log(this.state.list);
contents = (
<View style={ styles.content }>
<Text>Loaded</Text>
</View>
)
return (
<View style={ styles.container }>
<View style={ styles.header }>
<Text style={ styles.headerText }>XXX</Text>
</View>
<View style={ styles.content }>
{ contents }
</View>
</View>
);
}
答案 0 :(得分:7)
React可以渲染一个Elements数组,因此您只需要构造一个数组并将其分配给contents
变量。我使用map
做了一个例子。
render: function() {
console.log(this.state.list);
contents = this.state.list.results.map(function (item) {
return (
<View key={item.user.email} style={ styles.content }>
<Text>{item.user.email}</Text>
</View>
);
});
return (
<View style={ styles.container }>
<View style={ styles.header }>
<Text style={ styles.headerText }>XXX</Text>
</View>
<View style={ styles.content }>
{ contents }
</View>
</View>
);
}
而且:当你在React中有一个元素数组时,你应该为数组中的每个元素提供一个唯一的key
属性。 See why。在这种情况下,我使用item.user.email
作为唯一标识符,但您可以使用其他属性,只需确保它是唯一的(item.user.md5
正在承诺)