繁体   English   中英

反应本机,在for循环中创建按钮

[英]React native, creating buttons in for loop

我正在尝试从eventbrite的API获取一些数据。

数据是事件的名称,该名称将插入到列表中。

在渲染中,创建的按钮与我从API获得的名称数量一样多

我下面有几个问题。

  1. 如何将API中的信息添加到数组列表中-这样我就可以使用索引和值了。

  2. 如何在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. 对于问题1,api数据的数组形式将取决于数据在发送到您的应用程序之前的结构。 您可能需要为此遮住更多的光线。

  2. 循环渲染视图,尝试

     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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM