无法在reactjs中设置状态

无法在reactjs中设置状态,reactjs,Reactjs,我正在使用ReactJS16.10.2制作网站。但我不能说 首先,我将函数作为组件的支柱传递: getStepFour = (data)=>{ this.setState({ tenCaThi:data.tenCaThi, ngayThi:data.ngayThi, gioBatDau:data.gioBatDau, gioKetKetThuc:data.gioKetKetThuc, phon

我正在使用ReactJS16.10.2制作网站。但我不能说

首先,我将函数作为组件的支柱传递:

  getStepFour = (data)=>{

      this.setState({
        tenCaThi:data.tenCaThi,
        ngayThi:data.ngayThi,
        gioBatDau:data.gioBatDau,
        gioKetKetThuc:data.gioKetKetThuc,
        phongThi:data.phongThi,
      });

      console.log('data receipt four: ', data);
      console.log('state after set: ', this.state.tenCaThi);
    }
有一段时间,国家不起作用。集合后的状态为空

这是因为setState是异步的。据国家统计局称

setState并不总是立即更新组件。可能 批处理或将更新推迟到以后

此外,

将setState视为一个请求,而不是对 更新组件。为了获得更好的感知性能,可能会做出反应 延迟它,然后在一次过程中更新几个组件。反应 不保证立即应用状态更改

若你们想读更多关于为什么状态并没有立即更新的内容,请随意阅读,当涉及到解释它时,它是相当深入的

<ChiaCaThi getStepFour={this.getStepFour}/>
componentWillUnmount = ()=>{

          const data = {
            tenCaThi:this.state.tenCaThi,
            ngayThi:this.state.ngayThi,
            gioBatDau:this.state.gioBatDau,
            gioKetKetThuc:this.state.gioKetKetThuc,
            phongThi:this.state.phongThi,
          }

          console.log('data in chiacathi: ', data)

          this.props.getStepFour(data);
      }