SetState React中的嵌套属性更新缓慢

时间:2019-07-26 07:15:10

标签: reactjs

我想更新嵌套属性。

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
    })
  })

}

此值属性将为monshifttueshiftwedshift等。

如果我喜欢第一次进行属性更改是可以的,但是在第一次之后,shiftdayname的值更改为undefined,并且第一次之后我无法更新。

所以我像这样改变了handlechange =>

let x=this.state[value.shiftdayname];

  x[event.target.id] = event.target.value;

  this.setState({
    [value] : x
  })

如果我这样更改,那是可行的,但更改速度很慢。如果我在文本框中写了一些要写的内容,则无法立即更改。我可以知道如何用快速方法更新嵌套属性吗?

0 个答案:

没有答案