Javascript 在提交表单结果之前,React表单在“提交”按钮上重新呈现
在我的React应用程序中,父组件中有一个表单,该表单根据我拥有的值从多个页面(子组件)呈现表单页面。(例如:如果值为1,则显示父注册页;如果值为2,则显示子注册页等) 单击此提交按钮,表单通过Javascript 在提交表单结果之前,React表单在“提交”按钮上重新呈现,javascript,reactjs,Javascript,Reactjs,在我的React应用程序中,父组件中有一个表单,该表单根据我拥有的值从多个页面(子组件)呈现表单页面。(例如:如果值为1,则显示父注册页;如果值为2,则显示子注册页等) 单击此提交按钮,表单通过renderNewPage() 问题是在表单的末尾,当我单击submit按钮时,onClick首先在表单的onSubmit属性之前被触发。因此,在将表单信息打印到控制台之前,表单将转到新页面 我对这一点的理解是,onClick={this.renderNewPage}在onSubmit={this.han
renderNewPage()
问题是在表单的末尾,当我单击submit按钮时,onClick首先在表单的onSubmit属性之前被触发。因此,在将表单信息打印到控制台之前,表单将转到新页面
我对这一点的理解是,onClick={this.renderNewPage}
在onSubmit={this.handleSubmit}
之前被调用。有没有一种方法可以让renderNewPage()
暂停(或延迟)直到handleSubmit()
完成
我的react应用程序有好几行,所以我只发布和这个问题相关的重要部分(我想)。如果上面的代码没有包含足够的信息,请让我知道,我将尝试提供更多信息。是,单击首先触发;您可以在setTimeout中包装renderNewPage的内容
renderNewPage = () => {
setTimeout(()=>{
//your code
},0)
}
根据这两个函数的作用,控制台日志可能是一个简短的闪光。在
handleSubmit
的末尾添加renderNewPage
上发生的任何事情?这正是我想要的。谢谢
handleSubmit = e =>{
const {ParentName, ChildName, ..., Country} = this.state;
//checking before sending to backend
console.log(ParentName);
console.log(ChildName);
....
}
renderNewPage = () => {
setTimeout(()=>{
//your code
},0)
}