我正在制作一些反应如下的元素:
var AddNewTask = React.createClass({
handleClick: function() {
console.log('pressed!');
},
render: function() {
return (
<div className="addNewTask" onClick={this.handleClick}>
<i className="material-icons">add</i>
</div>
);
}
});
但是在实际呈现的html页面上,这个div不包含onClick属性。看起来像这样。
<div class="addNewTask" data-reactid=".0.2">
<i class="material-icons" data-reactid=".0.2.0">add</i>
</div>
如何让它出现?
答案 0 :(得分:4)
它不会出现在呈现的HTML中,因为处理程序附加到DOM元素本身。 React还会跨浏览器规范化事件系统,使其行为一致。我建议您阅读官方文档中的工作原理:https://facebook.github.io/react/docs/events.html
答案 1 :(得分:3)
简单地说:
onClick
不是DOM-onClick-event
,而是React-onClick-event
。React-onClick-event
属于React,因此不会显示在DOM上。React-onClick-event
转换为场景后面的DOM-onClick-event
。