React Native:将从Firebase获取的数据传递到Flatlist

时间:2019-06-18 20:11:17

标签: javascript arrays react-native

我正在从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; }} />

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

有什么建议吗?

0 个答案:

没有答案