【发布时间】:2020-04-13 08:34:14
【问题描述】:
我有以下代码来更新rubricItem 对象的currentScore。这很好用。
case SAVE_SCORELIST_SUCCESS:
const scoreItem = action.payload.scoreItem;
return {
...state,
loading: false,
editing: false,
rubricItems: {
...state.rubricItems,
[scoreItem.rubricItemId]: {
...state.rubricItems[scoreItem.rubricItemId],
currentScore: scoreItem.currentScore,
}
}
};
但是,我可能会收到一个包含多个 rubricItems 分数的数组对象,而不是像上面那样用单个 scorItem 更新单个 rubricItem。
我知道我可以使用.map() 来遍历数组:
scoreItems.map(si=>{})
但是,我不知道如何将其集成到此:
case SAVE_SCORELIST_SUCCESS:
const scoreItems = action.payload.scoreItems;
return {
...state,
loading: false,
editing: false,
rubricItems: {
...state.rubricItems,
[scoreItems[x].rubricItemId]: {
...state.rubricItems[scoreItems[x].rubricItemId],
currentScore: scoreItems[x].currentScore,
}
}
};
有什么想法吗?
【问题讨论】:
-
从
rubricItems中取出更新item的逻辑。在有效负载上应用forEach或map。然后将它们散布在一起。 -
@UtsavPatel 谢谢!怎么做:
take out the logic of updating the item from the rubricItems?有什么例子吗?
标签: javascript reactjs redux