javascript - React Native,在 for 循环中创建按钮

标签 javascript reactjs react-native

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

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

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

我有以下几个问题..

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

  2. 如何在for循环中创建按钮

例如

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. 循环渲染 View ,尝试一下

    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()

关于javascript - React Native,在 for 循环中创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48666309/

相关文章:

javascript - 如何正确设置helmet.js 以解决CSP 问题?

javascript - 需要匹配字符串或从字符串中删除不需要的字符

javascript - 如何在具有命名导出的文件中使用 React.memo()?

javascript - React 状态管理解决方案与 props

javascript - Reactjs Redux Actions 必须是普通对象

javascript - 如何显示我的对象可观察数据

javascript - 将数组值从一个类传递到另一个类

react-native - 检测 ScrollView 已结束

ios - 如何在 React Native 中的 Google map 上实现可拖动、可调整大小的多边形?

Javascript 函数测试每个数组并返回数组中的所有内容