我有一个问题,我面临的问题是复制数组后无法更新它。如果我复制一个数组而不更新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 Prototype 复制原始数组的值
因此,您需要销毁您的数组或在重复数组中中断引用。示例
let A = [a,b,c] //original Array
let B = JSON.parse(JSON.strigify(A)) // duplicate Array