我想更新嵌套属性。
export default class ShiftMaster extends React.Component{
constructor(props){
super(props);
this.state = {
monshift:new TempShift("monshift","")
tueshift:new TempShift("tueshift","")
wedshift:new TempShift("wedshift","")
thushift:new TempShift("thushift","")
frishift:new TempShift("frishift","")
satshift:new TempShift("satshift","")
sunshift:new TempShift("sunshift","")
}
}
export class TempShift{
constructor(
shiftdayname,
shiftid){
this.shiftdayname=shiftdayname;
this.shiftid = shiftid }}
这是我的手柄更改=>
handelDailyChange(value,event){
this.setState({
[value.shiftdayname] : ({
[event.target.id] : event.target.value
})
})
}
此值属性将为monshift
,tueshift
,wedshift
等。
如果我喜欢第一次进行属性更改是可以的,但是在第一次之后,shiftdayname
的值更改为undefined
,并且第一次之后我无法更新。
所以我像这样改变了handlechange
=>
let x=this.state[value.shiftdayname];
x[event.target.id] = event.target.value;
this.setState({
[value] : x
})
如果我这样更改,那是可行的,但更改速度很慢。如果我在文本框中写了一些要写的内容,则无法立即更改。我可以知道如何用快速方法更新嵌套属性吗?