在react-native FlatListview中,我想在列表中添加一个新项。
<FlatList
data={[{key: 'a'}, {key: 'b'}]}
renderItem={({item}) => <Text>{item.key}</Text>}
/>
qazxsw poi来自API以及关键的qazxsw poi和b ie data
每当新密钥进入时,它都会呈现整个列表视图,从而产生一些性能问题。
那么只渲染一个新添加的项目的最佳方法是什么呢?它就像在列表视图中附加两个新项目而不渲染整个列表。
此信息直接来自文档...
更复杂的多选示例演示了PureComponent用于perf优化和避免错误的用法。
通过绑定onPressItem处理程序,props将保持===并且PureComponent将防止浪费的重新呈现,除非实际的id,selected或title props改变,即使在MyListItem中呈现的组件没有这样的优化。通过将extraData = {this.state}传递给FlatList,我们确保当state.selected更改时,FlatList本身将重新呈现。如果不设置此prop,FlatList将不知道它需要重新渲染任何项目,因为它也是PureComponent,并且prop比较不会显示任何更改。
a