首页 > 解决方案 > 如何从 Redux 状态添加和删除属性

问题描述

我有一个初始状态:

let initialState = {
   items: []
}

我有一个来自我的行为的有效负载,例如:

{name: 'A', age: 2}, {name: 'B', age: 1}

将我的有效负载设置为我的减速器后:

case SET_ITEMS:
      return {
        ...state,
     items: [...state.items, ...action.payload],
      };

之后我的状态是:

 let initialState = {
       items: [
          {name: 'A', age: 2}, 
          {name: 'B', age: 1}
       ],
    }

所以我想添加到项目中的每个项目,例如一个像这样的属性:

 let initialState = {
           items: [
              {name: 'A', age: 2, active: true}, 
              {name: 'B', age: 1, active: true}
           ],
        }

我怎么能这样做?

标签: reactjsredux

解决方案


你可以使用map这个:

case SET_ITEMS:
  return {
    ...state,
    items: state.items.map(item => ({
        ...item,
        active: true
      }))
    };

推荐阅读