zoukankan      html  css  js  c++  java
  • 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 };
      },
    };
    
  • 相关阅读:
    梦断代码阅读笔记03
    用户场景分析
    学习进度8
    学习进度7
    梦断代码阅读笔记02
    学习进度6
    随堂小测app(nabcd)
    梦断代码阅读笔记01
    《构建之法》-6
    《构建之法》-5
  • 原文地址:https://www.cnblogs.com/ZerlinM/p/13716755.html
Copyright © 2011-2022 走看看