[英]React native, creating buttons in for loop
我正在尝试从eventbrite的API获取一些数据。
数据是事件的名称,该名称将插入到列表中。
在渲染中,创建的按钮与我从API获得的名称数量一样多
我下面有几个问题。
如何将API中的信息添加到数组列表中-这样我就可以使用索引和值了。
如何在forloop中创建按钮
例如
for ( var i =0; i<5; i++){
<Button
onPress={onPressLearnMore}
title="Learn More"
color="#841584"
accessibilityLabel="Learn more about this purple button"/>
} // % buttons are created.
这是我的代码。
export const renderButtons1 = (numOfBtns,title,site,navigated) => {
const views1 = [];
for ( var i = 0; i < numOfBtns; i++) {
views1.push(
<Button
onPress={(i) => navigate('EventsList', {
Title: title[i]
})
}
title = {title[i]}
color="#841584"
/>);
}
componentDidMount(){
return fetch('https://www.eventbriteapi.com/v3/events/search/location.address=glasgow&token=F7AWKEHKD6BW2TZKWO7N&expand=venue')
.then((response) => response.json())
.then((responseJson) => {
for(var x in responseJson.events){
this.setState({
state : this.state[Events].push(responseJson.events[x][0][0]["text"],"\n",)
});
}})
.catch((error) => {
console.error(error);
});
}
render() {
need to make buttons as many as the number of gotten name from API
}
对于问题1,api数据的数组形式将取决于数据在发送到您的应用程序之前的结构。 您可能需要为此遮住更多的光线。
循环渲染视图,尝试
const renderButtons = () => { const views = []; for ( var i =0; i<5; i++){ views.push( <Button key={i} onPress={onPressLearnMore} title="Learn More" color="#841584" accessibilityLabel="Learn more about this purple button" />); } // % buttons are created. return views; }
在渲染方法中调用renderButtons()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.