在Listview中追加新项而不渲染整个列表 - React Native / React js

问题描述 投票:0回答:1

在react-native FlatListview中,我想在列表中添加一个新项。

<FlatList
  data={[{key: 'a'}, {key: 'b'}]}
  renderItem={({item}) => <Text>{item.key}</Text>}
/>

qazxsw poi来自API以及关键的qazxsw poi和b ie data

每当新密钥进入时,它都会呈现整个列表视图,从而产生一些性能问题。

那么只渲染一个新添加的项目的最佳方法是什么呢?它就像在列表视图中附加两个新项目而不渲染整个列表。

reactjs react-native react-native-flatlist
1个回答
1
投票

此信息直接来自文档...

更复杂的多选示例演示了PureComponent用于perf优化和避免错误的用法。

通过绑定onPressItem处理程序,props将保持===并且PureComponent将防止浪费的重新呈现,除非实际的id,selected或title props改变,即使在MyListItem中呈现的组件没有这样的优化。通过将extraData = {this.state}传递给FlatList,我们确保当state.selected更改时,FlatList本身将重新呈现。如果不设置此prop,FlatList将不知道它需要重新渲染任何项目,因为它也是PureComponent,并且prop比较不会显示任何更改。

a

© www.soinside.com 2019 - 2024. All rights reserved.