javascript - Redux 中的容器组件太多(n 个数字,其中 n 未知),担心性能?

标签 javascript reactjs redux react-redux

我正在构建一个网络应用程序,其中会有帖子,用户可以对这些帖子发表评论,帖子可以有回复,我有 <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
}  

所以应该很简单,但是我担心太多的容器组件:)因为newsfeed可以有50个帖子,如果每个帖子有5条评论,那么就会有250个容器组件,会不会有性能问题因为容器组件太多了?但是这种方法的优点是实现起来非常简单,所以我想知道哪一个更好,在大型应用程序中(这是大多数应用程序的常见情况),他们是如何做到的?

最佳答案

根据 Dan Abramov 的说法,通过 connect() 将更多容器连接到 redux 存储,您将获得更好的性能:https://github.com/reduxjs/redux/issues/419#issuecomment-129188175

关于javascript - Redux 中的容器组件太多(n 个数字,其中 n 未知),担心性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52384204/

相关文章:

javascript - 如何逐个执行 Node js 函数,并在字符串数组中使用它们的名称动态列出

javascript - 使用 reactjs 重置或清除输入字段

javascript - Vimeo iframe 作为背景

javascript - 嵌套的 promise ,等待和异步

javascript - 将 JSON 信息获取到 Material-UI 对话框

reactjs - 在 mobx 中更新状态时组件不会重新渲染

reactjs - createAsyncThunk 并使用 redux-toolkit 编写 reducer 登录

javascript - react 点击按钮以呈现页面

javascript - react : How can I render multiple menus with map() without causing a re-render?

php - 使用谷歌地图显示地理位置 x 英里范围内的范围地址