为了账号安全,请及时绑定邮箱和手机立即绑定

关于Redux,State范式化管理如何理解?

关于Redux,State范式化管理如何理解?

ibeautiful 2019-03-16 15:45:09
最近学习了state范式化管理,打算重构自己个人博客的留言板模块。以前留言板模块的状态是这样的, 每个留言有多个评论,每个评论有多个回复。{     msgs:[         {             commenter:{ ... },             comments:[                 {                     replier:{ ... }                 },                 ...             ]         },         ...     ] }state范式化之后{    msgs:{ byId:{},allIds:[] },    comments:{ byId:{},allIds:[] },    replies:{ byId:{},allIds:[] },    users:{ byId:{},allIds:[] } }看到这个结构思考了很久,UI上还是只能留言/评论/回复嵌套起来,然后我就非常疑惑,我该如何创建容器组件?如果我创建一个MessageList(留言列表)的容器组件,那它需要监听state中的 msgs/comments/replies/users的变化,而且我需要在MessageList中直接解析数据,传递给其子组件,CommentList(评论列表的UI组件)等等,这样就失去了范式化state的优势:传递ID代替传递数据。UI结构如下,最外层的是Message(单个留言),蓝色的是评论列表,粉色的是回复列表。我不知道我描述清楚我的问题了没,但是真的被卡住写不下去了。。求大神解救。。简单地说,就是我想知道这样的情况下,如何将state范式化用好?
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 881 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信