Redux中的嵌套数组在React中重置值
Posted
技术标签:
【中文标题】Redux中的嵌套数组在React中重置值【英文标题】:Nested Array in Redux Resetting Value in React 【发布时间】:2022-01-11 11:28:56 【问题描述】:我有一个名为products
的数组,其中有一个名为productCategory
的字段。我的问题是它清除了数组的其他值。
代码沙盒在这里 CLICK HERE
case appConstants.CHANGE_PRODUCT_CATEGORY:
return
...state,
products: state.products.map((product) =>
product?.productCode === action.payload?.productCode
?
...product,
productCategory: action.payload.productCategory
: product;
)
;
【问题讨论】:
仅供参考,如果你使用our official Redux Toolkit package 来编写你的 Redux 逻辑,这会简单得多,因为它使用 Immer 让你编写“变异”不可变状态更新逻辑,而不必使用一堆嵌套传播运算符。 【参考方案1】:可能是因为你错过了 map 函数中的 return
关键字。
case appConstants.CHANGE_PRODUCT_CATEGORY:
return
...state,
products: state.products.map((product) =>
return product?.productCode === action.payload?.productCode
?
...product,
productCategory: action.payload.productCategory
: product;
)
;
【讨论】:
如果我的回答是正确的,如果您将其标记为已接受的回复,我将不胜感激。 另外,当我在 productName 中输入内容时,它会在从 ProductCategory 中选择后重置其值? 对,我没有检查你的沙箱,我只是根据你的代码猜测问题,我们来检查你的沙箱 能否请您看看这个SandBox 以检查它是否正常工作? 你能指出你改变了什么吗?这似乎是我的代码框链接。它应该是一个新链接以上是关于Redux中的嵌套数组在React中重置值的主要内容,如果未能解决你的问题,请参考以下文章
在 React/Redux reducer 中,如何以不可变的方式更新嵌套数组中的字符串?