javascript - 无法在 .map 函数 react-native 中循环和渲染 FlatList

标签 javascript react-native react-native-flatlist

我正在尝试在组件内呈现 FlatList。组件本身位于 ScrollView 中。

我正在使用 map 函数循环遍历要传递到组件中的数据。 早些时候我使用的是 ScrollView 而不是 FlatList。它工作正常,但渲染速度很慢。所以我决定使用 FlatList。

这是我的代码:

    renderComp(){

        const { filtersView,cats,cats_title, clearStyle} = styles;

        const data = this.props.ingreds;

        const arr  = Object.entries(data);


        return arr.map(i=> { 
              const name= i[0]; 
              const items_obj = i[1];
              const items = Object.values(items_obj);

              return(

                <View key={name} style= {filtersView}>

                    <View style={cats}>

                      <Text  style ={cats_title}>{name}</Text>

                      <Text style={clearStyle}>Clear All</Text>
                    </View>


                    <View style={{justifyContent:'flex-start', alignItems:'flex-start'}}>

                      <FlatList 
                      style={{ marginRight:6}}  
                      data={items}
                      keyExtractor={(x,i)=> i.toString()}
                      renderItem={({item}) =>{
                      this.renderItems(item)
                      }}
                      />
                    </View> 
                  </View>

              )
        })

      }

这是 ScrollView 组件:

        <ScrollView contentContainerStyle={{alignItems:'flex-start', 
        justifyContent:'flex-start',flex:1, height:72}} >

            {this.renderComp()}

        </ScrollView>

循环在一次迭代后停止。

这是输出:/image/yM151.png

有什么建议吗?

最佳答案

ReactNative FlatList renderItem 方法应该返回一个 ?React.Element 组件。在您的情况下,要么使用 return this.renderItems 要么跳过内括号。

https://facebook.github.io/react-native/docs/flatlist#renderitem

({item}) => this.renderItems(item)}

关于javascript - 无法在 .map 函数 react-native 中循环和渲染 FlatList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55332647/

相关文章:

javascript - 如何控制页面上的#id 链接?

react-native - 如何知道 FlatList 中滚动(向上或向下)的状态?

具有动态行和列的 react native 平面列表

javascript - React Native FlatList 水平模式根本不起作用

javascript - 如何打印对象中的嵌套对象值? VueJs

javascript - 无法将ajax变量传递给php

javascript - JS-JSON解析一有很多

javascript - 从 json 响应中查找下一个最接近的日期和时间

javascript - 什么是最佳实践导航 react native

android - react native - 使用 PayPal v2/订单付款