gpt4 book ai didi

ios - FlatList 使用 Redux 重新渲染

转载 作者:行者123 更新时间:2023-12-01 15:44:34 27 4
gpt4 key购买 nike

我正在使用 PureComponent 来渲染我的 FlatList 的项目,当我使用 FlatList 并在数据中将本地状态传递给它时,渲染效果很好,我没有浪费的重新渲染。
但是,当我将 FlatList 与数据中的 redux 存储中的数组一起使用时,如果我向下滚动,则每次调用 onReachEnd 时,重新渲染都会很好地工作。但是当我没有更多的数据要加载并且我向上滚动时,我的所有项目都会重新渲染一个。

就像我的整个 list 都丢失了。

我在数据中使用与本地状态完全相同的列表,它完美地工作!
只有当我尝试让 FlatList 和 Redux 一起工作时才会出现这个问题

<FlatList
ref={(view) => this.list = view}
data={this.props.requestsList}
style={{flex: 1}}
keyExtractor={(item) => String(item.emitter.id)}
renderItem={this._renderRequestsItems}
onEndReachedThreshold={0.5}
onEndReached={!this.props.lastPage ? this._endReached : null}
ListFooterComponent={reloadIndicator}
ListHeaderComponent={this._getHeaderComponent}
ListEmptyComponent={this._getEmptyComponent}
/>

最佳答案

使用 extraData您的 FlatList 组件上的属性,在您的情况下,额外的数据可以来自 Prop ,所以它看起来像

extraData={this.prop}

关于ios - FlatList 使用 Redux 重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com