zoukankan      html  css  js  c++  java
  • react-redux 解决不重新渲染的问题

    原始代码:

    const reducers = (state=defaultState, action) => {
        switch(action.type) {
            case 'change':
                return Object.assign({}, state, {navList: action.navList});
                
            default:
                return state;
        }
    }
    
    • 数据更新正常。但是页面没有刷新。

    正常运行代码

    const reducers = (state=defaultState, action) => {
        switch(action.type) {
            case 'change':
                return Object.assign({}, state, {navList: [...action.navList]});
                
            default:
                return state;
        }
    
    }
    
    • 一眼就能区分哪里不同。其实这个原因在于Object.assign()函数。
      我一直以为它是深拷贝。其实他只深拷贝一层。子对象的是浅拷贝。
      使用[...object1, ...object2]也是和assign方法是一样的拷贝方式。


    作者:py晓枫
    链接:https://www.jianshu.com/p/67b40993672f
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    漫思
  • 相关阅读:
    markdown with vim
    递归
    类 sizeof
    cppcheck工具
    c++ explicit的含义和用法
    pca主成分分析
    string的使用
    linux的shell进化简史
    adb shell 无法启动 (insufficient permissions for device)
    c++ 四种转换的意思
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/13771937.html
Copyright © 2011-2022 走看看