useState 假如initData的值是tree状

来源:3-4 useState语法讲解(字符串、数字、数组、对象动态更新)

核桃丷

2023-05-25

假如树形state想修改某一节点处的值岂不是很麻烦?
写回答

1回答

河畔一角

2023-05-25

假如是多层嵌套对象,比如:

const [user, setUser] = useState({ email: '', password: '', settings: { subscribe: false }, });

我们需要对嵌套的对象做浅拷贝:

setUser({

...user,

settings: { .

..user.settings,

subscribe: true

},

});

或者,你直接使用序列化转成字符串,再变回json,因为setState的时候,不能用以前的对象,以前的对象会被认为是同一个引用地址,对象没有发生变化,需要更新的时候给一个新的对象才会被认为有更新。

1
0

React18+TS 通用后台管理系统解决方案落地实战

全面提升React高阶技能,灵活驾驭各类后台管理系统开发痛点

625 学习 · 226 问题

查看课程