为了账号安全,请及时绑定邮箱和手机立即绑定

如何在克隆/复制对象时删除对象的只读属性?

如何在克隆/复制对象时删除对象的只读属性?

MYYA 2022-08-18 16:12:44
我希望能够复制/克隆存储状态并在本地修改它。如何复制对象并删除只读属性?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


查看完整回答
反对 回复 2022-08-18
?
不负相思意

TA贡献1777条经验 获得超10个赞

复制使用

let b = JSON.parse(JSON.stringify(a))


查看完整回答
反对 回复 2022-08-18
  • 2 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信