redux查找和替换状态对象

rjee0c15  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(104)

我有一个板上有多个卡项目,我想实现一个编辑功能,如果点击用户可以输入一个新的titledescription的卡。我可以成功地做所有这一切,直到我得到的减速器,我试图更新存储,以反映用户的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。找到后,我想将状态中的对象替换为有效负载对象

6g8kf2rb

6g8kf2rb1#

只是Array#map在状态titles的字段上并替换了特定的title对象。

updateTile: (state, { payload }): any => {
  return {
    ...state,
    titles: state.titles.map((title) => title.id === payload.id ? 
      { ...title, ...payload } : title),
  };
},

相关问题