我对在 setState 中使用扩展运算符设置状态感到震惊

I am struck in setting state using spread operator in setState

我有一个由 a 和 b.I 组成的对象,我正在用值 formValue.When 的状态初始化它预期,.我在这里做错了什么?

form:{
a:"",
b:[],
}
const [state,setState]=useState({
formValue:form
})
setState({...state,formValue.b:some array})

不漂亮但适合我:

const newState = [...this.state.form]
newState.b = newArray
this.setState({form: newState})

首先你的 setState 有问题,你不能将 formValue.b 作为键。 顺便说一句,“formValue.b”是可能的。

但是对于你的问题,我想你正在寻找:

setState({...state,formValue: {...state.formValue, b: [] }})