NodeNote,持续更新中react相关库源码浅析, react ts3 项目html
<div id="app"></div>
<div onclick="alert(1)">原生</div>
class APP extends React.Component{
render(){
return (
<div>
<Header/>
</div>
)
}
}
class Header extends React.Component{
clickHandler(){
console.log("click")
}
render(){
return (
<div>
<div onClick={this.clickHandler.bind(this)} a={1}>
this is Header
</div>
<p onClick={this.clickHandler.bind(this)} a={1}>
this is Header
</p>
</div>
)
}
}
ReactDOM.render(
<APP/>,
document.getElementById('app')
);
复制代码
上述的组件中点击事件的绑定过程以下: react
为了作对比,写了一个原生的div以及对应的onclick事件处理函数,查看渲染出来的html能够知道:react的jsx写的onClick并无在渲染出来的DOM上添加onclick事件处理函数,这与原生DOM不同。git