文章目录
redux dispatch 后 DOM 不刷新
如果 DOM 没有刷新:
- 查看一下是否调用错了 Action
- 查看一下是否发送错了 Action Type
- 是否有可能因为 async await 的 try catch 将一些错误 catch 了, 从而导致后期代码没有执行
- 查看一下是否 Reducer 里面某些逻辑写错了, 比较常见的就是 直接修改了 state
- 切记如果要操作 state, 最好先深拷贝再进行处理
- spread operator 是进行浅拷贝的, 所以如果使用的话就需要进行一层一层拷贝
- 可以使用 Redux Tools, 查看 diff 标签里面的变化, 看一看这个 action 调用完成之后数据是否改变?
典型的错误示例
1 | const rv = (state === undefined) ? defaultState : { ...state }; |
正确的书写方式:
1 | const rv = (state === undefined) ? defaultState : { ...state }; |