Правильный подход к добавлению в FlatList
Поиск правильного или лучшего способа добавления элемента в плоский список
мой первый подход состоял в том, чтобы просто добавить элемент в состояние.. поэтому я попробовал это:
var NewObject = {};
NewObject.Name = "New Object";
this.setState({
Data: [...this.state.Data, ...[NewObject]]
});
Однако выполнение этого приводит к тому, что все в списке должно быть прочитано, и я получаю все виды ключевых ошибок.
это this.state.Data.push(NewObject); подход? это, кажется, не позволяет перезагрузить
любая помощь будет огромной!
1 ответ
Ты можешь использовать
this.setState({Data: [...this.state.Data, newObject]})
И в flatlist есть реквизит extraData. Используйте его для уведомления flatlist о любых изменениях в его источнике данных.
<FlatList
...
extraData={this.state.Data}
...
>
this.state.Data.push (NewObject) изменяет состояние напрямую, никогда не делайте этого.
Ps Вы также можете установить родительский компонент FlatList как PureComponent для повышения производительности.