通过循环在视图中创建多个按钮
create multiple buttons in a view via loop
我想为我的 react-native 应用程序创建多个自定义按钮。
我正在使用一个包含所有信息的数组,我想遍历数组中的所有按钮并在一个视图中创建所有按钮。
我试过这样的事情:
<View>
for( let i=0; i<numberButtons; i++) {
<TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]} >
<Image
style={[styles.image, this.props.imageStyle]}
source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}}
/>
</TouchableOpacity>
}
</View>
这似乎行不通。我从 react-native 框架中得到错误,所以我猜你不能在视图中执行 js?
我该怎么做?
你可以这样做:
renderButtons = () => {
const buttons = [];
for( let i = 0; i < numberButtons; i++) {
buttons.push(
<TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]}>
<Image
style={[styles.image, this.props.imageStyle]}
source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}}
/>
</TouchableOpacity>
)
}
return buttons;
}
render() {
return (
<View>
{this.renderButtons()}
</View>
)
}
我想为我的 react-native 应用程序创建多个自定义按钮。 我正在使用一个包含所有信息的数组,我想遍历数组中的所有按钮并在一个视图中创建所有按钮。 我试过这样的事情:
<View>
for( let i=0; i<numberButtons; i++) {
<TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]} >
<Image
style={[styles.image, this.props.imageStyle]}
source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}}
/>
</TouchableOpacity>
}
</View>
这似乎行不通。我从 react-native 框架中得到错误,所以我猜你不能在视图中执行 js?
我该怎么做?
你可以这样做:
renderButtons = () => {
const buttons = [];
for( let i = 0; i < numberButtons; i++) {
buttons.push(
<TouchableOpacity style={[styles.mapView, this.props.mapViewStyle]}>
<Image
style={[styles.image, this.props.imageStyle]}
source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}}
/>
</TouchableOpacity>
)
}
return buttons;
}
render() {
return (
<View>
{this.renderButtons()}
</View>
)
}