Я получаю список элементов из 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; }} />
Это работает, но неэффективно, мне нужно дважды просмотреть элементы, один раз, чтобы преобразовать их в массив, и другой, чтобы отобразить каждый элемент в плоском списке, это будет кошмар с большими наборами данных.
Есть предложения?