2025-12-09 防止在复制嵌套数组/对象时意外修改React状态 防止在复制嵌套数组/对象时意外修改React状态 正文:在React开发中,状态管理就像走钢丝——稍有不慎就会摔进"意外修改"的陷阱。我曾在一个电商项目里,因为直接修改嵌套对象导致购物车数量莫名其妙翻倍,花了整整两天才找到这个幽灵般的bug。这让我深刻认识到,正确处理复杂状态的拷贝是React开发的必修课。为什么直接赋值会出问题?看这个典型例子: const [user, setUser] = useState({ name: "张三", address: { city: "北京", district: "海淀区" } }); // 危险操作! const updateUser = () => { user.address.district = "朝阳区"; setUser(user); // 不会触发重新渲染 } 这种直接修改原对象的方式,不仅违背React的不可变原则,还会导致组件不更新。以下是5种可靠解决方案: 展开运算符+手动拷贝 setUser({ ...user, address: { ...user.address, district: "朝阳区" ... 2025年12月09日 7 阅读 0 评论