美文网首页
react-redux注意点

react-redux注意点

作者: Jalon | 来源:发表于2016-09-03 13:56 被阅读0次

    connect可以处理你需要传入props和actions的组件,哪里都可以,也可之传入本组件需要的从全局state上的数据。但是combineReducer需要传入所有reducer(设计的有问题吧?)不然会报错:

    warning.js:14 Unexpected key "about" found in previous state received by the reducer. Expected to find one of the known reducer keys instead: "items", "filter". Unexpected keys will be ignored.
    

    reducer的使用中,传入的state不可以直接修改并返回。这里需要返回一个全新的nextState,这个nextState全新指的是你需要重新做一个由单个元素拼接而成的(比如数组),那么就需要直接返回一个新的,或者把原数组打散,改造,即

    // es5 的办法
    state = [].concat(state.slice(), action.item);
    
    // es6 的办法 解构
    state = [...state, sction.item]
    

    来生成一个全新state,然后return;
    如果用immutable.js来处理,保证每次处理后的都是全新的,那么就可以直接操作了。如:

    const initialItems = Immutable.List([1, 2, 3]);
    (state=initialItems, action) => {
      state = initialItems;
      return state.push(action.item)
    }
    

    相关文章

      网友评论

          本文标题:react-redux注意点

          本文链接:https://www.haomeiwen.com/subject/lgikettx.html