正确的方法添加到FlatList

时间:2018-02-15 22:19:17

标签: react-native react-native-flatlist

搜索将项目添加到平面列表的正确或最佳方式

我的第一个方法是简单地将一个项目添加到状态..所以我尝试了这个:

@Test
public void getNewsError() {
    presenter.onErrorNewsResponse(your_error);
    Mockito.verify(...);
}

但是,这样做会导致列表中的所有内容都被重新读取,并且会出现各种关键错误。

是this.state.Data.push(NewObject);该方法?这似乎不允许重新加载

任何帮助都会很大!

1 个答案:

答案 0 :(得分:0)

您可以使用

this.setState({Data: [...this.state.Data, newObject]})

还有一个' extraData'平面列表中的道具。使用它来通知平面列表有关其数据源的任何更改。

<FlatList
...
extraData={this.state.Data}
...
>

this.state.Data.push(NewObject)直接改变状态,永远不会这样做。

P.s您还可以将FlatList的父组件设置为PureComponent以获得更好的性能。