React 事件监听

React 事件监听,第1张

1 .当写在div上的事件被委托给document之后,监听方法发生了怎样的变化

2 .以一个click事件为例.click事件属于离散事件,优先级较低

3 .离散事件的监听并不会立即执行,而是以一定的优先级进行调度

4 .Fiber 允许一个任务在页面渲染比较繁忙的时候不执行更新,等待浏览器空闲的时候执行。但是这个延后是有限制的,比如对于同步任务,过期时间就是 -1,表示同步任务需要立即执行。对于优先级是 UserBlockingPriority,过期时间是 250,也就是允许最长延期 250ms 执行。这个优先级还是比较高的

5 .事件分为三类:分别是离散事件,用户阻塞事件,连续事件.连续事件不会经过调度,而是直接执行

6 .离散事件和用户阻塞事件执行调度的优先级相同,不同点在于离散事件执行调度q会把之前未执行的事件以同步的方式执行掉.

7 .一个nativeEvent在进入调度,也就是开始执行回调的时候,首先会根据nativeEvent获得事件发生时的目标节点,以及对应的fiber对象.然后根据这些信息去React的事件插件种获得该原生事件对应的sytheticEvent合成事件.一个原生事件可以对应多个合成事件

8 .多个合成事件一次执行dispatchlisteners中存储的监听方法,在每个监听事件中判断事件是否停止传播

9 .事件执行完毕之后,判断用户是否设置额事件持久化,如果没有,重置事件中的属性,放入事件缓存池保存

//监听内容的变化并且记录在状态中

handleChange: function(event){

this.setState({inputText: event.target.value})

},

//添加提交按钮并打印结果

handleSubmit: function () {

console.log("reply To" + this.props.selectName + "\n"

+ "\n" + this.state.inputText)

},


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11615540.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存