Javascript 警报未在react js中显示更新的状态?
我正在开发一个应用程序,其中有一个表单,用户在文本字段中输入一个值,然后在单击submit按钮时将该值传递给子组件。输入框中的每次更改都会设置要传递给子变量(var1)的变量的状态,因此每次更改都会将更改后的值传递给子变量。为了避免这种情况,我声明了另外一个变量(finalVar1),并仅在单击submit按钮并传递finalVar1时才将其状态设置为var1的状态。但是,当我在设置状态后尝试发出警报(finalVar1)时,即使var1未设置,它也始终为空。 这是我的密码Javascript 警报未在react js中显示更新的状态?,javascript,reactjs,Javascript,Reactjs,我正在开发一个应用程序,其中有一个表单,用户在文本字段中输入一个值,然后在单击submit按钮时将该值传递给子组件。输入框中的每次更改都会设置要传递给子变量(var1)的变量的状态,因此每次更改都会将更改后的值传递给子变量。为了避免这种情况,我声明了另外一个变量(finalVar1),并仅在单击submit按钮并传递finalVar1时才将其状态设置为var1的状态。但是,当我在设置状态后尝试发出警报(finalVar1)时,即使var1未设置,它也始终为空。 这是我的密码 类父级扩展组件{ 建
类父级扩展组件{
建造师(道具){
超级(道具);
this.state={var1:,finalVar1::};
this.setVar1=this.setVar1.bind(this)
}
setVar1(e){
this.setState({var1:e.target.value});
}
submitClick(){
this.setState({finalVar1:this.state.var1});
警报(this.state.var1+“”+this.state.finalVar1)//var1不为空,finalVar1为空
}
render(){
返回(
提交
);
}
}
在react中,状态更新是异步的,这意味着在设置下一个值之后,尝试console.log或警告下一个值不起作用。基于类的组件的setState函数允许在状态更新后保证调用第二个参数
submitClick(){
this.setState(
{ finalVar1: this.state.var1 },
() => alert(this.state.var1 + " " + this.state.finalVar1)
);
}
在react中,状态更新是异步的,这意味着在设置下一个值后尝试console.log或警告该值不起作用。基于类的组件的setState函数允许在状态更新后保证调用第二个参数
submitClick(){
this.setState(
{ finalVar1: this.state.var1 },
() => alert(this.state.var1 + " " + this.state.finalVar1)
);
}
setState
是同步的,它将回调作为第二个参数。我们可以使用setState回调来保持状态处理
接近set设置。当调用此回调时,this.state是更新状态
submitClick(){
这是我的国家({
最终结果ar1:this.state.var1
},()=>(警报(this.state.var1+“”+this.state.finalVar1));
}
setState
是同步的,它将回调作为第二个参数。我们可以使用setState回调来保持状态处理
接近set设置。当调用此回调时,this.state是更新状态
submitClick(){
这是我的国家({
最终结果ar1:this.state.var1
},()=>(警报(this.state.var1+“”+this.state.finalVar1));
}
在SETTAE中传递callvack。this.setstate(statework,()=>alert('hello'))在setstae中传递callvack。this.setstate(statework,()=>alert('hello'))