gpt4 book ai didi

React-Native FlatList ListHeaderComponent 忽略 shouldComponentUpdate

转载 作者:行者123 更新时间:2023-12-05 04:09:23 29 4
gpt4 key购买 nike

在 React-Native 中,将 FlatListListHeaderComponent 一起使用让我相信 ListHeaderComponent 中的 shouldComponenupdate 函数(尽管已执行)被忽略了。即使我在 shouldComponentUpdate 中返回 false,我的组件总是重新呈现。如何阻止 ListHeaderComponent 重新呈现?

<Card>
<FlatList data={comments}
ListHeaderComponent={() => <PostHeader navigation={this.props.navigation} post={this.props.post} />}
style={{flex:1}}
onRefresh={() => this.props.getPost(mediaId, 'newsfeed', true)}
refreshing={isRefreshing}
keyExtractor={(comment) => comment.id}
removeClippedSubviews={false}
renderItem={(comment) => <Comment comment={comment.item} /> } />

<PostComment newComment={newComment}
postComment={() => this.props.postComment(newComment.content, mediaId, profile.id)}
reset={()=> this.props.resetNewComment}
onTextChange={this.props.newCommentTextChanged} />
{Platform.OS.toLocaleLowerCase() === 'ios' &&
<KeyboardSpacer />
}
</Card>

将 放置在 FlatList 之前会停止不需要的行为,但这需要将很多包装在 ScrollView 中,我在使用 FlatList 时宁愿避免这种情况。

最佳答案

事实证明,它不是重新渲染,而是由于以下原因正在卸载和安装我的组件:

https://github.com/facebook/react-native/issues/13602#issuecomment-300608431

关于React-Native FlatList ListHeaderComponent 忽略 shouldComponentUpdate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46083586/

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