我怎样才能做一个深度嵌套状态的副本?
这个问题在这里已经有了答案:
有几个选项:
update
不可变助手, 我推荐第一个,因为语法特别强大,特别是在处理像Redux商店这样的大型结构时。
作为文档的一个例子:
import update from 'immutability-helper';
const newData = update(myData, {
x: {y: {z: {$set: 7}}},
a: {b: {$push: [9]}}
});
允许您修改深层嵌套的属性,而不用担心现有对象上的危险突变。
最简单的捷径是:
const clone = JSON.parse(JSON.stringify(state));
总而言之,涉及克隆一个对象的问题,在那里有几个关于该主题的答案,取决于如下的东西:
但在那种情况下,你正在处理一个“简单的json Object”,因为它是redux状态,所以上面的方法将工作。
另一种方法是递归函数,它复制所有嵌套数据,但如上所述,在这种情况下,您不必这样做,因为您不必担心dom元素或其他类似的东西。
链接地址: http://www.djcxy.com/p/24781.html