创建一个动态的reducer,它将改变对象的任何属性

时间:2017-08-15 20:21:26

标签: reactjs redux react-redux

这可能吗?假设我有一个状态对象是

之类的字典
pageDict: {
  someId: {prop1: value1, prop2: value2, etc}
  someId2: {prop1: value1, prop2: value2, etc}
  someId3: {prop1: value1, prop2: value2, etc}
  etc
}

而不是制作一个会改变prop1 ... prop2等的缩减器。我想我可以制作一个改变我想要传递的属性的缩减器......但是它不喜欢代码。一旦我输入action.propertyName就开始不喜欢它...这不可能吗?我只是想确保我没有遗漏任何东西。

//action
export function setPageProperty( pageId, propertyName, propertyValue ) {
  return { type: types.SET_PAGE_PROPERTY, pageId, propertyName, propertyValue };
}

//reducer
case types.SET_PAGE_PROPERTY: {
  return update( state, { playlistDict: {[ action.pageId ]: { action.propertyName: { $set: action.propertyValue }}}});
}

0 个答案:

没有答案