为什么我在return之前修改state,如果是return state子组件收到state里面的属性后并不会刷新,新改变的值并不会附上,但是如果使用return {…state}每次改变state的值都会让子组件刷新,获得相应正确的值,但是我在reducer里面打log,会发现即使return state,log里面也是state改变之后的值,也就是说state值改变了,但是子组件没有刷新,还是state原来的值,我在尝试使用componentWillReceiveProps让子组件刷新,但是失败了,子组件就是不刷新,换成return {…state}根本不需要componentWillReceiveProps就能实现自动刷新
我哪操作错了吗,不是很理解
Redux里面return state和return {...state}有啥区别
BenAnn
#1
Huqiuwei
#2
后者是浅复制,state里面是对象的时候就需要这样使用,会生成一个新的对象,也就是你准备传给container的对象,并且不会改变之前的state,如果你直接return state,state会被覆盖