【问题标题】:Nested Array in Redux Resetting Value in ReactRedux中的嵌套数组在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 让你编写“变异”不可变状态更新逻辑,而不必使用一堆嵌套传播运算符。

标签: reactjs redux ecmascript-6 react-hooks


【解决方案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 以检查它是否正常工作?
  • 你能指出你改变了什么吗?这似乎是我的代码框链接。它应该是一个新链接
猜你喜欢
  • 1970-01-01
  • 2019-10-10
  • 2018-06-10
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多