React Native: передача данных, извлеченных из базы данных, в Flatlist - PullRequest
0 голосов
/ 18 июня 2019

Я получаю список элементов из 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; }} />

Это работает, но неэффективно, мне нужно дважды просмотреть элементы, один раз, чтобы преобразовать их в массив, и другой, чтобы отобразить каждый элемент в плоском списке, это будет кошмар с большими наборами данных.

Есть предложения?

...