首页 > 解决方案 > React Native:将从 firebase 获取的数据传递到 Flatlist

问题描述

我正在从 firebase 获取要传递给 Flatlist 组件的项目列表。

现在我做:

fetch('https://demo.firebaseio.com/posts.json', {
            headers: {
                'Content-Type': 'application/json'
            }
        })
        .then(response => response.json())
        .then(items => {

            items = Object.entries(items).map(item => ({
                 ...item[1], 
                 key: item[0]
            }));

            this.setState({
                posts: items,
                isLoading: false
            })

        }).catch(err => {
            alert(JSON.stringify(err));
        });

接着:

<FlatList data={this.state.posts} renderItem={({item}) => {
                return <Text>{item.title}}</Text>
            }} keyExtractor={(item) => { return item.key; }} />

这可行,但效率不高,我需要循环两次,一次将其转换为数组,另一次将每个项目呈现在平面列表中,这将是大型数据集的噩梦。

有什么建议么?

标签: javascriptarraysreact-native

解决方案


推荐阅读