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

IT技术 reactjs react-redux
2021-05-16 04:12:59

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

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 情况下将 fetching 属性更改为 true?

更新

我的 .babelrc 看起来像:

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

错误:

在此处输入图片说明

3个回答

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

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

欲了解更多,请检查 babeljs-plugins#transform-object-rest-spread

您应该在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;

替换这个:

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;
  }
};