Error: onSubmit doesn't work on reactjs jsx render method
Error: onSubmit doesn't work on reactjs jsx render method
我正在尝试在节点服务器上的反应组件内创建一个表单,但我的 onSubmit 属性没有被编译。任何想法为什么?
这是我的代码:
/** @jsx React.DOM **/
var React = require('react');
module.exports = UserForm = React.createClass({
handleSubmit: function (e) {
e.preventDefault();
console.log("teste");
},
render : function () {
return (
<div className="container">
<form onSubmit= { this.handleSubmit } className="section">
<button className="btn waves-effect waves-light" type="submit">
Entrar
<i className="mdi-content-send right"></i>
</button>
</form>
</div>
)
}
});
此渲染代码的输出是这样的:
<div class="container" data-reactid=".1vxqgp72xa8" data-react-checksum="-1342114635">
<form class="section" data-reactid=".1vxqgp72xa8.0">
<button class="btn waves-effect waves-light" type="submit" data-reactid=".1vxqgp72xa8.0.1">
<span data-reactid=".1vxqgp72xa8.0.1.0">Entrar</span>
<i class="mdi-content-send right" data-reactid=".1vxqgp72xa8.0.1.1"></i>
</button><div class="preloader-wrapper big active" data-reactid=".1vxqgp72xa8.0.2">
</form>
</div>
这可能是一个愚蠢的错误,有人可以帮我找到它吗?
谢谢大家
很简单,您没有提供回调。它应该是这样的:
<form onSubmit={ this.handleSubmit } className="section">
编辑:
在评论中进行了一些讨论后,很明显在将呈现 html 的服务器交付给浏览器后,您并没有在前端安装应用程序。页面加载后调用:
React.render(React.createElement(UserForm, {}), domElement);
我正在尝试在节点服务器上的反应组件内创建一个表单,但我的 onSubmit 属性没有被编译。任何想法为什么? 这是我的代码:
/** @jsx React.DOM **/
var React = require('react');
module.exports = UserForm = React.createClass({
handleSubmit: function (e) {
e.preventDefault();
console.log("teste");
},
render : function () {
return (
<div className="container">
<form onSubmit= { this.handleSubmit } className="section">
<button className="btn waves-effect waves-light" type="submit">
Entrar
<i className="mdi-content-send right"></i>
</button>
</form>
</div>
)
}
});
此渲染代码的输出是这样的:
<div class="container" data-reactid=".1vxqgp72xa8" data-react-checksum="-1342114635">
<form class="section" data-reactid=".1vxqgp72xa8.0">
<button class="btn waves-effect waves-light" type="submit" data-reactid=".1vxqgp72xa8.0.1">
<span data-reactid=".1vxqgp72xa8.0.1.0">Entrar</span>
<i class="mdi-content-send right" data-reactid=".1vxqgp72xa8.0.1.1"></i>
</button><div class="preloader-wrapper big active" data-reactid=".1vxqgp72xa8.0.2">
</form>
</div>
这可能是一个愚蠢的错误,有人可以帮我找到它吗?
谢谢大家
很简单,您没有提供回调。它应该是这样的:
<form onSubmit={ this.handleSubmit } className="section">
编辑: 在评论中进行了一些讨论后,很明显在将呈现 html 的服务器交付给浏览器后,您并没有在前端安装应用程序。页面加载后调用:
React.render(React.createElement(UserForm, {}), domElement);