Redux处理笔记审核动作时reducer报错及store属性顺序异常求助
属性顺序异常的修复
问题原因:
你之前的reducer返回新state时没有展开原有state,直接返回仅包含binnacleNotes的对象,原有属性被丢弃,结构发生变化,自然会出现属性顺序改变的情况。另外JS普通对象的属性遍历顺序不属于强保证的语法特性,业务逻辑依赖属性顺序本身就不规范。
解决方法:
- 所有reducer返回新state时,必须先写
...state展开原有所有属性,再覆写需要修改的字段,保证根state的结构和属性顺序不被破坏 - 如果业务逻辑必须强依赖键值对的顺序,改用Map结构存储相关数据,Map会严格按照插入顺序保存键
- 不要对普通对象使用依赖属性顺序的操作,比如不要用
Object.keys()、for...in遍历的顺序做逻辑判断
内容的提问来源于stack exchange,提问作者Diego Duarte
相关产品推荐
相关产品推荐

