【发布时间】:2021-03-28 13:57:36
【问题描述】:
我知道有很多类似的线程,但我没有找到解决方案。
好的,所以我的状态如下:
[
{
id: 1,
title: 'todo',
items: [
{
itemID: 1,
itemText: 'finish this project'
},
{
itemID: 2,
itemText: 'take trash out'
},
{
itemID: 3,
itemText: 'sleep'
},
]
},
{
id: 2,
title: 'doing now',
items: [
{
itemID: 1,
itemText: 'add redux'
},
{
itemID: 2,
itemText: 'fixing bugs'
},
]
},
{
id: 3,
title: 'done',
items: [
{
itemID: 1,
itemText: 'add components'
},
{
itemID: 2,
itemText: 'add material ui'
},
]
}
]
我有一个 redux reducer,它应该将一个项目添加到特定列表中,我有该列表的 id,以及我应该添加的 itemText。我设法让它有点工作,它将项目添加到特定数组中,但问题是这也会创建新的空白列表。以下是 reducer 的外观:
case "ADD_ITEM":
return [
state.map((list)=>(
(list.id === action.payload.id) ? list.items.push({
itemID: 89,
itemText: action.payload.description
}) : list
))
]
知道如何在不创建新列表的情况下将项目添加到特定列表项吗?
【问题讨论】:
标签: javascript reactjs redux