redux 在变径管内使用新值Angular 更新阵列中的对象

t2a7ltrp  于 2023-03-02  发布在  Angular
关注(0)|答案(1)|浏览(130)

基本上,我有一个categories对象数组,其中一个对象如下所示{" categoryId ":10," categoryName ":" beverages "," description ":"drinkable liquids "},并且在我修改了类别的最后两个属性中的任何一个之后,我希望能够更新数据。
我的代码是:

const reducer = createReducer(
initialCategoriesState,
on(categoriesActions.updateCategory, (state, {data }) => ({
...state
categories: state.categories?.map((item) => (item['categoryId'] === data['categoryId'] ? data:item)),
}))

但是它并没有更新我想要的类别,它只是创建了一个新类别,其中包含了应该属于我必须更新的类别的新详细信息

3bygqnnd

3bygqnnd1#

您可以使用对象扩散语法来合并两个对象:

state.categories?.map(item => item.categoryId === data.categoryId ? {...item, ...data} : item)

相关问题