繁体   English   中英

redux 复制数组后反应更新数组

[英]redux react update array after copying array

我有一个问题,我遇到了复制后无法更新数组的问题。 如果我复制一个数组但不更新 id,当我在输入中键入内容时,文本将以与复制它相同的方式出现。

这是我的初始状态

const initialState = [
  {
    id: random numbers,
    options: [{ id: random numbers , value: '' },
    ],
  },
];

它会有很多选项,我只想更新选项 ID

这是我试过的

    case COPY_QUESTION: {
      const newArray = [...state];
      const copyQuestion = newArray[action.payload];
        copyQuestion.options.map((option) =>
          Object.assign({}, option, {
            id: random number,
          }),
        );
      
      return [...state, copyQuestion];
    }

感谢阅读我的问题。

这是由于引用调用引起的。 正如我在您的代码中看到的那样,您正在复制一个数组的引用,这可能有理由在您键入时覆盖原始数组的详细信息。 您可以使用 Javascript Object 原型复制原始数组的值

因此,您需要破坏数组或破坏重复数组中的引用。 例子

let A = [a,b,c]  //original Array
let B =  JSON.parse(JSON.strigify(A))  // duplicate Array

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM