我正在尝试从eventbrite的API获取一些数据。
数据是事件的名称,名称将插入列表中。
在渲染中,按钮的创建次数与我从API
获得的名称一样多我在下面几个问题..
如何将API中的信息添加到数组列表中 - 所以我可以使用索引和值。
如何在forloop中创建按钮
e.g。
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
}
答案 0 :(得分:2)
对于问题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()
。