参考:
1、https://juejin.im/post/5c0398d3e51d453f32195571
2、https://zhuanlan.zhihu.com/p/38106353
理解:
1.redux源代码中将oldState和newState(reducer返回的结果)做比较,如果reducer为非纯函数,两者指向同一个地址,导致react认为state无变化,从而不更新页面。
2.这样做是牺牲一点计算性能(生成新对象)来保证页面刷新,在页面更新时使用react的diff算法来计算需要更新的组件。之所以这样设计,是为了避免在reducer中进行大量的深比较。
网友评论