redux的reducer的拷贝问题

首先指出一点,Redux的reducer是浅复制。冲掉的原因,是因为浅复制没有放在更新数据前,把...state放在前面就好了。
Redux作者DanAbramov推荐用Object.assign()and...spread浅复制来在reducer中更新状态:

所以浅复制实现方法:
原生方式:
var newObj=Object.assign({},someobj);
或者
var newObj={...someobj};
jQuery方式:
var copiedObject=jQuery.extend({},originalObject)
再说下与本问题无关的深复制:
原生方式:
var newObj=JSON.parse(JSON.stringify(someobj));
jQuery方式:
var copiedObject=jQuery.extend(true,{},originalObject)


react中reducer的写法如下:

export const actionType = {
  setBetInfo: 'setBetInfo',
  setBetCount: 'setBetCount',

};
const reducer = {
  [actionType.setBetInfo]: (state, { payload }) => {
    return { ...state, betInfo: payload };
  },
  [actionType.setBetCount]: (state, { payload }) => {
    return { ...state, betCount: payload };
  },
};
原文地址:https://www.cnblogs.com/ZerlinM/p/13716755.html