как извлечь полезную нагрузку из действия прямо в возвращаемом объекте - PullRequest
0 голосов
/ 17 октября 2018

Я использую Redux.В редукторе ниже я получаю сообщение об ошибке, если я использую:

return({...state, action.payload});

вместо:

const add= (stateaction) => {
  switch (action.type) {       
    case "ADD":
    const {payload} = action;///  <=
    return({...state, payload}); // <= instead of thes two lines
    default:
      return state;
  }
};

Я помню, мы могли бы сделать это, добавив скобки, что-то вроде:

return({...state, [action.payload]});

но не могу понять это правильно.

1 Ответ

0 голосов
/ 17 октября 2018

Вы также можете распространять его, если вам нужно содержимое полезной нагрузки в вашем состоянии:

const add = (state, action) => {
  switch (action.type) {       
    case "ADD":
      return {...state, ...action.payload };
    default:
      return state;
  }
};

Если состояние является массивом, вы можете использовать расширение массива для добавленияпредметы к нему:

const add = (state, action) => {
  switch (action.type) {       
    case "ADD":
      return [...state, action.payload];
    default:
      return state;
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...