You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

初学React:对useState中previousState的作用与来源存疑

关于React useState中previousState的两个疑问解答

1. previousState是如何获取原有state属性的?

当你给setCar传入一个函数而非直接传对象时,React内部会自动把当前组件最新的state值作为参数传递给这个函数。也就是说,你写的previousState其实就是React帮你传入的当前car state的完整对象,自然包含了brand、model、year这些原有属性。

你用扩展运算符...previousState把原有对象的所有属性展开,再单独设置color: "blue",就只会覆盖color属性,其他属性会被保留下来,不会像直接传{color: "blue"}那样丢失原有数据。

2. previousState是不是关键字?

不是,它只是一个普通的参数名,你可以随便给它起名字,比如prevCar、oldState都没问题。只要这个参数是setCar接收的函数的第一个参数,React就会自动把当前最新的state值传给它。比如把代码改成这样,功能完全一样:

const updateColor = () => {
  setCar((prevCar) => {
    return { ...prevCar, color: "blue" };
  });
};

内容的提问来源于stack exchange,提问作者nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:43:18