mik*_*tes 6 html javascript dom dom-events reactjs
鉴于以下代码,我希望3, 2, 1在单击数字时打印输出3.实际打印输出是1, 3, 2.
这是什么原因?
document.body.onclick = () => {
console.log('1')
}
function Test() {
return (
<div onClick={() => console.log('2')}>
2
<div onClick={() => console.log('3')}>
3
</div>
</div>
)
}
ReactDOM.render(<Test/>, document.querySelector("#root"))Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<body>
1
<div id="root" />
</body>Run Code Online (Sandbox Code Playgroud)
任何本机事件处理程序都会在 React 事件处理程序之前触发。
这就是 React 处理事件的方式:
因此,React 生态系统中的秩序得以维持,但相对于其他生态系统来说却是无序的。
如本视频所述:https://www.youtube.com/watch ?v=dRo_egw7tBc
并在文档中模糊地描述:https://facebook.github.io/react/docs/events.html#event-pooling