[英]How to change Object inside Object without mutation?
所以我的问题是如何更改用户对象内的petNames对象而不改变它。
const user = {
name: 'Harry',
age: 50,
petNames: {
dog: 'Lisie',
cat: 'Foxer'
}
};
第一级我们可以改变
{...user, age: 48 }
它会回来
{
name: 'Harry',
age: 48,
petNames: {
dog: 'Lisie',
cat: 'Foxer'
}
};
但我怎么能改变petNames?
例如,狗名称更改为“Rex”。
得到像对象一样
{
name: 'Harry',
age: 50,
petNames: {
dog: 'Rex',
cat: 'Foxer'
}
};
谢谢!
您也可以传播内部属性:
const user = { name: 'Harry', age: 50, petNames: { dog: 'Lisie', cat: 'Foxer' } }; const newUser = { ...user, petNames: { ...user.petNames, dog: 'rex' } }; console.log(user.petNames === newUser.petNames); // false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.