在React.js中设置提交
在提交表单时,我正在尝试执行doSomething()而不是默认的发布行为。 
显然,在React中, onSubmit是表单支持的事件。 但是,当我尝试下面的代码:
 var OnSubmitTest = React.createClass({ render: function() { doSomething = function(){ alert('it works!'); } return <form onSubmit={doSomething}> <button>Click me</button> </form>; } }); 
 方法doSomething()运行,但此后,默认的后期行为仍然执行。 
你可以在我的jsfiddle中testing这个。
我的问题:如何防止默认的发布行为?
 在doSomething()函数中,传入事件e并使用e.preventDefault() 。 
 doSomething = function (e) { alert('it works!'); e.preventDefault(); } 
我也build议在渲染之外移动事件处理程序。
 var OnSubmitTest = React.createClass({ submit: function(e){ e.preventDefault(); alert('it works!'); } render: function() { return ( <form onSubmit={this.submit}> <button>Click me</button> </form> ); } }); 
 <form onSubmit={(e) => {this.doSomething(); e.preventDefault();}}></form> 
它对我来说工作得很好
您可以将该事件作为parameter passing给函数,然后阻止默认行为。
 var OnSubmitTest = React.createClass({ render: function() { doSomething = function(event){ event.preventDefault(); alert('it works!'); } return <form onSubmit={this.doSomething}> <button>Click me</button> </form>; } });