喵喵時光機
2023-01-06 16:05:21
我正在嘗試使用這樣的嵌套屬性來更新狀態(tài):State = { newProperty: { name: '', description: '', guestCount: '', }}我正在像這樣更新狀態(tài):handleOnChangeInput = (e) => { let prevState = Object.assign({}, this.state.newProperty) let targetName = e.target.name preState.targetName = e.target.value this.setState({ newProperty: prevState })}然而,preState 并沒有獲取 targetName 的值,而是在狀態(tài)中尋找 targetName 屬性。我嘗試了不同的變體,例如 preState.[targetName],但仍然沒有用。javascript反應狀態(tài)設置狀態(tài)
1 回答

白衣非少年
TA貢獻1155條經(jīng)驗 獲得超0個贊
如果它是一個新屬性,請如上所示用方括號括起來,但刪除 .
任何 JSON 更新的原理都是一樣的。以下是上述內(nèi)容的示例:
state = {
newProperty: {
name: '',
description: '',
guestCount: '',
}
}
handleOnChangeInput = (e) => {
let prevState = Object.assign({}, state.newProperty)
let targetName = e.name
prevState[targetName] = e.value
state.newProperty = prevState
console.log(state)
}
<input name="name" id="waffles" onchange="handleOnChangeInput(this)"/>
添加回答
舉報
0/150
提交
取消