对于作为对象的 React 状态变量,我需要更新对象中的一个属性并返回一个新对象。我正在比较以下方法:
setFormData(Object.assign({}, formData, {b: 22}));
与
setFormData((prevData) => ({
...prevData,
b: 22
}));
另一种可能的选择是,不使用箭头函数,
setFormData( { ...prevData, "b": 22 } )
所有这些都有效吗?是否有理由使用其中一种或另一种?
您提到的两种方法都是有效的,并且它们实现了更新 React 状态变量中的属性以确保不变性的相同目标。
然而,在功能更新中使用扩展运算符的第二种方法通常被认为更现代,并且通常在 React 中使用,因为: