您好,登录后才能下订单哦!
这篇文章主要介绍React事件系统和表单操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1.react的事件系统
react事件系统符合W3school标准,不存在任何IE兼容性问题,并且与原生的浏览器事件一样有同样的API接口。同样支持事件的冒泡机制,我们可以使用stopPropagation()和preventDefault()来终止它。
所有的事件都自动绑定到最外层。如果需要访问原生事件对象,可以使用nativeEvent属性。
2.合成事件
(1)事件委派
react把所有事件绑定到结构的最外层,使用一个同意的事件监听器,这个事件监听器上维持了一个映射来保存所有组件内部的事件监听和处理函数。
(2)自动绑定
在react组件中,每个方法的上下文都会指向该组件的实例,即自动绑定this为当前组件。但是在使用ES6 classes或者纯函数时这种自动绑定就不复存在,需要手动实现this的绑定。
(3)绑定方法
3-1:bind方法:可以帮助我们绑定事件处理完器内的this,并且可以向事件处理器中传入参数,比如:
3-2构造器内声明(推荐):在组件的构造器内完成对事件的绑定。
3-3箭头函数:它自动绑定了定义此函数作用域的this。
3.原生事件
componenDidMount会在组件已经完成安装并且在浏览器存在真实的 DOM后调用,此时我们就可以完成对原生事件的绑定。
注意:在react中使用DOM原生事件时,一定要在组件卸载时手动移除,否则可能出现内存泄漏问题。
4.混合事件
我们无法在组件中将事件绑定到组件范围之外的区域,只能使用原生事件来实现。
但是,尽量在React中混用合成事件和原生DOM事件:用reactEvent.nativeEvent.stopPropagatoin()来阻止事件冒泡是不行的。组织React事件冒泡的行为只适用于React合成系统中,且没办法阻止原生事件冒泡。反之,在原生事件中阻止事件冒泡,却可以阻止React事件的传播。
以上是“React事件系统和表单操作的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。