3 回答

TA貢獻1869條經(jīng)驗 獲得超4個贊
您所在的州有多個屬性。messageInfo例如,如果您從屬性and開始type,然后再使用this.setState({ messageInfo: newMessageInfo }),那么新狀態(tài)將只有屬性messageInfo;該type屬性將丟失,因為它的值未傳遞給setState。
setState相反,在定義新屬性之前將先前的狀態(tài)傳播到調(diào)用中:
clearForm(){
this.setState({
...this.state,
messageInfo: {
...this.state.messageInfo,
// ...
和
handleSubjectChange(evt){
this.setState({ ...this.state, subject: evt.target.value }, () => {
等等。

TA貢獻2016條經(jīng)驗 獲得超9個贊
您不能直接訪問messageInfo. 有兩種獲取方式:
clearForm(){
this.setState({
messageInfo: {
...this.state.messageInfo,
subject: '',
description: ''
}
})
}
或者
clearForm(){
this.setState((prevState) => {
messageInfo: {
...prevState.messageInfo,
subject: '',
description: ''
}
})
}

TA貢獻1995條經(jīng)驗 獲得超2個贊
在 clearForm(){} 函數(shù)中你不能直接使用 messageInfo,你應(yīng)該定義一個狀態(tài)類型而不是變量。
clearForm(){
this.setState({
messageInfo: {
...this.state.messageInfo,
subject: '',
description: ''
}})
}
添加回答
舉報