React native 使用Redux应用商店更新平面列表的最佳方法

React native 使用Redux应用商店更新平面列表的最佳方法,react-native,redux,React Native,Redux,我有一个包含嵌套对象的Redux存储: 我使用数组的第一个元素作为平面列表的数据,因为我不想一次显示所有项目 但是如果我想添加数组的第二个元素并更新列表。最好的解决方案是什么?将您的数据值设置为状态道具,您可以使用onEndReached阈值设置要触发onEndReached的滚动距离。然后调用函数加载更多已访问的项目,然后将更新平面列表 它看起来像这样: <FlatList data={this.state.listDataSource} renderItem={({ item,

我有一个包含嵌套对象的Redux存储:

我使用数组的第一个元素作为平面列表的数据,因为我不想一次显示所有项目


但是如果我想添加数组的第二个元素并更新列表。最好的解决方案是什么?

将您的
数据
值设置为状态道具,您可以使用
onEndReached阈值
设置要触发
onEndReached
的滚动距离。然后调用函数加载更多已访问的项目,然后将更新平面列表

它看起来像这样:

<FlatList
  data={this.state.listDataSource}
  renderItem={({ item, index }) => this.renderListItem(item, index)}
  keyExtractor={this._keyExtractor} // dont'forget to declare _keyExtractor
  onEndReachedThreshold={0.5} //when scroll reach half distance from bottom. Min value 0, max 1.
  onEndReached={() => this.loadMoreItems()} // this.setState({ listDataSource: newList }), for instance
/>
this.renderListItem(项,索引)}
keyExtractor={this.\u keyExtractor}///别忘了声明\u keyExtractor
当滚动距离底部达到一半时,onEndReachedThreshold={0.5}//。最小值为0,最大值为1。
例如,onEndReached={()=>this.loadMoreItems()}//this.setState({listDataSource:newList})
/>
在上面的示例中,每当滚动达到列表的一半时,它将触发
onEndReached
功能

如果不想使用组件状态,还可以触发一个操作(
this.props.loadMoreItems()
),更新减速机并将其值用作
数据(
this.props.listDataSource

您可以在官方文档中找到更多详细信息:


希望能有所帮助。

你好,苏托特,谢谢你的回答,但我意识到我的问题措辞不当,请原谅。我的问题更多地与Redux有关。如果我的存储区已经包含了我的所有数据,但我只显示其中的一部分,比如说数组的第一个元素。显示第二个元素和第一个元素的最佳方式是什么。我是否应该将存储中的第二个元素与当前数据列表连接起来?