如果用 dva 的脚手架开发,有必要再使用 immutable 提升性能吗,但是怎么使用 redux-immutable。
immutable 的作用是是什么,我理解就是:1、函数式编程;2、不会被误改;3、多层对象改变子对象一定返回新对象,不会误操作导致子组件不渲染;4、拷贝效率高;
但对于非扁平化 redux 减少渲染次数提高性能我一直没太理解
1、普通情况,immutable"深拷贝" 和 普通浅拷贝都会导致对象地址改变,父子组件重新渲染
2、在子组件使用 PureCompoent 的时候,如果引入的 “redux 子对象(非扁平)” 不改变 都不会引起重新渲染
所以用不用 immutable 没啥区别呀,这种情况用 PureCompoent 就好了
为啥dva 不需要 acitonCreator
我一直觉得 acitonCreator 就是为了语义化一些,constant 不好读,如果是 redux-thunk 还可以封装一下请求,还有其他作用吗。
而 constant 是为了防止 reducer 和 派发 action 时候的 type 书写不一致,报错不明显,dva 用的是 namespace/方法名,不需要constant,所以也不需要 acitonCreator,是这样理解吗