如何在我的reducer中更改我的状态,尝试将属性设置为true / false

时间:2018-01-24 04:04:10

标签: reactjs react-redux

我的减速器是分开的,其中一个我的初始状态和减速器看起来像:

import Constants from '../constants';

const initialState = {
  fetching: true,
};

const boards = (state = initialState, action) => {
  switch (action.type) {
    case Constants.BOARDS_FETCHING:
      return state;
    default:
      return state;
  }
};

export default boards;

如何在BOARDS_FETCHING情况下将抓取属性更改为true?

更新

我的.babelrc看起来像:

{
  "presets": ["react", "es2015"],
  "env": {
    "development": {
      "presets": ["react-hmre"]
    }
  }
}

错误:

enter image description here

3 个答案:

答案 0 :(得分:2)

您需要安装transform-object-rest-spread

 "plugins": ["transform-object-rest-spread"]

有关详情,请查看babeljs-plugins#transform-object-rest-spread

答案 1 :(得分:0)

您应该在case Constants.BOARDS_FETCHING子句中设置它:

import Constants from '../constants';

const initialState = {
  fetching: true,
};

const boards = (state = initialState, action) => {
  switch (action.type) {
    case Constants.BOARDS_FETCHING:
      return {...state, fetching: true};
    default:
      return state;
  }
};

export default boards;

答案 2 :(得分:0)

替换它:

const boards = (state = initialState, action) => {
  switch (action.type) {
    case Constants.BOARDS_FETCHING:
      return state;
    default:
      return state;
  }
};

为:

const boards = (state = initialState, action) => {
  switch (action.type) {
    case Constants.BOARDS_FETCHING:
      return Object.assign({},state,action.fetching);
    default:
      return state;
  }
};