如何将状态值存储为redux中的键值对..?

时间:2017-08-07 07:21:08

标签: reactjs redux react-redux store key-value

可能重复:

以上可能的副本不符合我的需要。

以下是用于存储为对象数组的 redux reducer 代码:

case 'ADD_ITEM':
  return {...state, elements:[...state.elements, action.appElements]}

action.appElements包含:

{id: '9aq05d', width: '100',height: '225'}

存储的对象数组如下所示:

elements: {
  0: {
    id: 9aq05d,
    width: '100',
    height: '225',
  }
  1: {
    id: 8lk65f,
    width: '200',
    height: '787',
  }
}

但我需要将值存储为键值对,如下所示:

我需要 id作为密钥

elements: {
  9aq05d: {
    id: 9aq05d,
    width: '100',
    height: '225',
  }
  8lk65f: {
    id: 8lk65f,
    width: '200',
    height: '787',
  }
} 

如何在redux商店中存储这种键值对。?

先谢谢..

1 个答案:

答案 0 :(得分:0)

使用对象传播而不是数组传播。

case 'ADD_ITEM':
  return {
          ...state,
          elements: {
            ...state.elements,
            [action.appElements.id]: action.appElements
          }
  }

但请记住,不保证对象中键的顺序。