1

我正在玩 Meteor 和react-meteor。但是,我似乎无法理解模板事件处理在使用 react 时是如何工作的(如果它甚至可以的话)。

索引.html:

<head>
  <title>reactjs</title>
</head>
<body>
  <h1>Welcome to Meteor!</h1>
  {{> FormTest}}
</body>

库/组件/testform.jsx:

var FormTest = ReactMeteor.createClass({
  templateName: "FormTest",
  render: function() {
    return (
      <div>
        <button className="my-button">My byutton</button>
      </div>
    );
  }
});

index.js:

if (Meteor.isClient) {
  Template.FormTest.events({
    "click .my-button": function (event, template) {
      alert("My button was clicked!");
    }
  });
}

我什么都得不到。

我的代码或方法有问题吗?如果接近,处理事件的正确方法是什么?

4

1 回答 1

3

如果您在此处添加事件处理程序:

<button className="my-button" onClick={this.handleClick}>My button</button>

然后,您可以在 testform.jsx 文件中执行此操作:

handleClick: function(e) {
        if (Meteor.isClient) {
            e.preventDefault();
            console.log("My button was clicked");
        }
}

我也在用 Meteor 测试 React,但这似乎有效。

于 2015-04-08T05:01:42.237 回答