【发布时间】:2021-07-09 12:28:14
【问题描述】:
我有一个包含一些列表对象的化简器。
const list = [
{
name: 'A',
products: { items: [] },
},
{
name: 'B',
products: { items: [{ qty: 1 }] },
},
]
我想向产品密钥添加新项目。 减速器
export const addProductToSubscription = (state, { name, products }) => ({
...state,
list: state.list.map((v) =>
name === v.subscriptionName ? [...v.products, { ...v.products, items: products }] : v
),
})
这样发送,
dispatch("A",[{qty:2}])
预期输出
const list = [
{
name: 'A',
products: { items: [{ qty: 2 }] },
},
{
name: 'B',
products: { items: [{ qty: 1 }] },
},
]
什么 reducer 没有更新状态。
谢谢!!
【问题讨论】:
-
state是否有list键或list是state? -
arr.map不会改变数组,它会返回一个新数组。这可能会改变您在第二个代码块中尝试执行的操作。 -
是状态有列表键
-
为什么不更新状态
标签: javascript reactjs react-native redux