我希望能够复制/克隆存储状态并在本地修改它。如何复制对象并删除只读属性?let a = store.getState();console.log(a.property) // 'property'let b = copy(a)b.property = 'newProperty';console.log(b.property) // 'newProperty'
2 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
一种方法是,您可以从商店获取,然后将其分散到新对象中。state
喜欢:
const state = store.getState()
const newState = {...state}
现在,您可以修改对象。state
但是,如果状态中有多个级别对象,则使用然后使用来解析它。JSON.stringifyJSON.parse
喜欢这个。
const state = store.getState();
const newState = JSON.parse(JSON.stringify(state));
它将创建一个全新的克隆,现在您可以修改状态。
我建议在这里使用,因为您可以在您的状态下拥有多级对象。并且只做卷影复制。JSON.stringifyspread
添加回答
举报
0/150
提交
取消