Javascript 按钮输入类型submit未在React with React路由器中提交

Javascript 按钮输入类型submit未在React with React路由器中提交,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我在尝试使用的按钮中添加了NavLink引用(来自React路由器)的React.js上下文原因。无论哪种方式,当我要提交数据时,请使用: submitData(event) { event.preventDefault(); alert("Submitted"); } 这将有助于: <FormGroup> <input type="submit" /> </FormGroup> 但这不会: <FormGroup>

我在尝试使用的按钮中添加了NavLink引用(来自React路由器)的React.js上下文原因。无论哪种方式,当我要提交数据时,请使用:

submitData(event) {
    event.preventDefault();
    alert("Submitted");
}
这将有助于:

<FormGroup>
  <input type="submit" />
</FormGroup>

但这不会:

<FormGroup>
    <Button type="submit" id="submitButton" color="primary"><NavLink to="/Confirm">Submit</NavLink></Button>
</FormGroup>

提交

不确定为什么第二种方法不起作用,但这是我首选的方法。有什么想法或想法来解释原因吗?我知道
较新,但是添加
type=“input”
应该会迫使它继续工作。

导航链接组件已经在侦听它自己的提交/单击事件,该事件不会传播到您自己表单的onSubmit

简单的解决方案是将
NavLink
的onClick绑定到您自己的处理程序:

<FormGroup>
    <Button type="submit" id="submitButton" color="primary">
        <NavLink to="/Confirm" onClick={this.submitData.bind(this)}>Submit</NavLink>
    </Button>
</FormGroup>

提交

谢谢,但这不会让
在以后重定向。就像表单提交一样,它只是停止,然后不会重定向到确认页面。请删除
事件.preventDefault()