React事件系统和表单操作的示例分析
这篇文章主要介绍React事件系统和表单操作的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联是一家专业提供什邡企业网站建设,专注与成都网站建设、网站制作、HTML5建站、小程序制作等业务。10年已为什邡众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
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事件系统和表单操作的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
当前名称:React事件系统和表单操作的示例分析
转载源于:http://pwwzsj.com/article/gghpji.html