例如,我想显示一个名单。所以我想做这样的事情:
var returnValue;
for (eachName of _names) {
returnValue += (
<TouchableHighlight
onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>);
}
return returnValue;
然而,这是无效的。这让我想到了一个问题:如何在React Native中连接动态数量的JSX组件。
答案 0 :(得分:76)
数字我在问堆栈流时很快就弄明白了。代码需要放入一个数组中:
var returnValue = [];
for (var i = 0; i < _names.length; i++) {
returnValue.push(
<TouchableHighlight onPress={() => this._onPressButton}>
<Text>
{_names[i]}
</Text>
</TouchableHighlight>);
}
return returnValue;
此处还有更多信息:http://facebook.github.io/react/docs/multiple-components.html#dynamic-children
答案 1 :(得分:11)
也许是一种更优雅的方式:
return <View>
{_names.map((eachName) => {
return (
<TouchableHighlight onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>
);
})}
</View>
答案 2 :(得分:0)
let returnValue = _names.map(eachName =>
<TouchableHighlight
onPress={() => this._onPressButton}>
<Text>
{eachName}
</Text>
</TouchableHighlight>);
return returnValue;