我正在构建一个Web应用程序,其中将有帖子,用户可以在这些帖子上发表评论,而帖子可以有回复,并且我有<Newsfeed />
容器组件可以通过api获取所有帖子(即使用redux获取数据存储),但问题是现在我将不得不将太多数据传递给子组件,因此我认为我应该在<CommentListContainer />
组件中创建容器组件<ReplyListContainer />
和<Post />
我将必须传递基本的帖子信息,然后帖子中可以包含<CommentListContainer postId={post_id}
/>
,而<Comment />
可以包含<ReplyListContainer commentId={comment_id}/>
,因为我的数据已在redux中标准化
例如:-
entities : {
"users" : {
"byIds" : {
"id" : {
// basic info
"comments" : [4, 5, 6],
}
}
},
"comments" : {
"byIds" : {
"id" : {
"replies" : [1, 2, 3] // etc
}
}
}
... same replies
}
所以应该很容易,但是我担心太多的容器组件:)因为新闻提要可能有50个帖子,并且如果每个帖子有5条评论,那么将有250个容器组件,会不会有任何性能问题那里是因为容器组件太多?但是这种方法的优点是实施起来非常简单,所以我想知道哪种方法更好,在大型应用程序中(这对于大多数应用程序来说是常见的),它们是如何做到的? ?
答案 0 :(得分:1)
根据Dan Abramov的介绍,您将具有更好的connect()性能-将更多容器添加到redux存储:https://github.com/reduxjs/redux/issues/419#issuecomment-129188175