搜索将项目添加到平面列表的正确或最佳方式
我的第一个方法是简单地将一个项目添加到状态..所以我尝试了这个:
@Test
public void getNewsError() {
presenter.onErrorNewsResponse(your_error);
Mockito.verify(...);
}
但是,这样做会导致列表中的所有内容都被重新读取,并且会出现各种关键错误。
是this.state.Data.push(NewObject);该方法?这似乎不允许重新加载
任何帮助都会很大!
答案 0 :(得分:0)
您可以使用
this.setState({Data: [...this.state.Data, newObject]})
还有一个' extraData'平面列表中的道具。使用它来通知平面列表有关其数据源的任何更改。
<FlatList
...
extraData={this.state.Data}
...
>
this.state.Data.push(NewObject)直接改变状态,永远不会这样做。
P.s您还可以将FlatList的父组件设置为PureComponent以获得更好的性能。