function App() {
  const onClickButton = (event) => {
        console.log('合成事件:', e)
    console.log('currentTarget:', e.currentTarget)
    console.log('target:', e.target)
    console.log('原生事件:', e.nativeEvent)
    console.log('currentTarget:', e.nativeEvent.currentTarget)
    console.log('target:', e.nativeEvent.target)
  }
  return (
    <div className="App">
      <button onClick={onClickButton}>点我</button>
    </div>
  );
}

这里面的 event 不是原生事件,而是合成事件 SyntheticEvent

1.png

原生事件要使用 event.nativeEvent

原生事件是被挂在到 document 上的,所以 currentTarget 获取到的是 document

2.png

虽然 SyntheticEventreact 模拟的,但 Dom 具有的能力,它都有,只是这些能力不受 Dom 控制。比如:阻止默认行为 preventDefault ,阻止冒泡 stopPropagation


uccs
759 声望91 粉丝

3年 gis 开发,wx:ttxbg210604


« 上一篇
git 常用指令
下一篇 »
react 基础知识