我有一个板上有多个卡片项目,我想实现一个编辑功能,在那里,如果点击用户可以然后键入一个新的title
和description
卡。我可以成功地完成所有这一切,直到我到达还原器,在那里我试图更新存储以反映用户的edit
操作。
编辑有效载荷对象是:
{
"title": "dasdsads 123456",
"description": "asdsadsad 1234565",
"id": "badb4cbb-a66c-5c5d-57ee-5401eeaac0cd"
}
我的状态:
{
ideaBoard: {
tiles: [
{
title: 'dasdsads',
description: 'asdsadsad',
id: '0e62aa65-d465-6b73-3747-7e2f654d96d6',
createdAt: '28/10/2022, 00:31:32'
},
{
title: 'dasdsads 123',
description: 'asdsadsad 123',
id: 'badb4cbb-a66c-5c5d-57ee-5401eeaac0cd',
createdAt: '28/10/2022, 00:31:39'
}
]
}
}
我的减速器updateTile
updateTile: (state, { payload }): any => {
const update: any = state.tiles.find((tile) => tile["id"] === payload.id);
return {
};
},
所以我想首先在有效负载id和状态id之间找到一个匹配的id。一旦我找到它,我想用有效载荷对象替换状态中的那个对象。
发布于 2022-10-27 23:41:43
只需在状态下对Array#map
字段进行titles
,并替换特定的title
对象。
updateTile: (state, { payload }): any => {
return {
...state,
titles: state.titles.map((title) => title.id === payload.id ?
{ ...title, ...payload } : title),
};
},
https://stackoverflow.com/questions/74229290
复制相似问题