【发布时间】:2017-07-20 01:49:48
【问题描述】:
是否可以在 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 等任何组件都不适用于这种特殊情况。这只是语法问题。
【问题讨论】:
-
你为什么不用地图呢?
const buttons = buttonsListArr.map( item => <Button style={{borderColor:item[0]}} onPress={this.onPress.bind(this)}>{item[1]}</Button>render() { return ( <View style={...}> <buttons /> </View> )};
标签: react-native