Reactjs表单onSubmit不起作用

时间:2015-05-31 18:29:48

标签: forms button submit reactjs

我正在尝试构建一个动态div,它包含基于状态的不同组件。我的自定义组件是Active,Stable和Form。

render: function () {
  var components = [];
  if (this.state.isActive) {
     components.push(React.DOM.Active));
  } 
  if (this.state.isStable) {
     components.push(React.DOM.Stable({}));
  }
  if (this.state.visible) {
    components.push(React.DOM.Form({}));
  }
  return React.DOM.div({}, components);
}

Form组件是一个具有

的简单表单
handleSubmit(e) {
  e.preventDefault();
  console.log('Submitted');
}
render: function() {
  return React.DOM.form({onSubmit: this.handleSubmit}, [React.DOM.button({},'Submit')]);

}

永远不会调用handleSubmit方法。但是,如果我将代码更改为:

render: function () {
  var components = [];
  components.push(React.DOM.Form({}));
  return React.DOM.div({}, components);
}

有谁知道问题可能来自哪里?

2 个答案:

答案 0 :(得分:1)

handleSubmit方法未正确写入。它应该是

handleSubmit: function(e) {
  e.preventDefault();
  console.log('Submitted');
},
//(dont forget the comma to separate methods  :)

答案 1 :(得分:0)

{onSubmit: this.handleSubmit}来电时需要React.DOM.form