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