0
我試圖動態接受從一箇中等大小的形式的狀態變化沒有「硬編碼」每個輸入的名稱。問題是我的國家有不同的類別,例如:使用動態表單處理更新特定狀態對象上的狀態?
this.state = {
data: {
account: {
email: "",
username: ""
},
bio: {
location: "",
bio: ""
}
}
}
家長給予孩子:
return <Child onChange={this.handleBioChange} info={this.state.data.bio} />
我已經創建了一個孩子組成一個onchange道具調用孩子的方法
<input
value={this.props.info.location.value}
onChange={this.handleChange}
name="bio.location"
/>
我的孩子組成的變化處理程序是,像這樣
handleChange(event) {
this.props.onChange(event)
}
我不太確定如何處理父組件的狀態更新函數。
我將有兩個處理程序,一個用於「帳戶」,另一個用於「生物」,因爲他們將使用不同的驗證,因此我將它們分開,但爲了這個示例,我只試圖更新bio
狀態。
我曾嘗試:
handleBioChange(event){
let name = event.target.name
let value = event.target.value
this.setState([name]: value)
}
,但我這樣做的時候,狀態不會被更新,因此不會讓我改變輸入的值。我在這裏錯過了什麼?
您帶來了解決@crescentfresh? –