React.js 实战之 事件解决
来源:JavaEdge     阅读:702
微上宝科技
发布于 2019-02-24 21:13
查看主页

0 联络我


1.Java开发技术交流Q群

2.完整博客链接

3.个人知乎

4.gayhub

React 元素的事件解决和 DOM元素的很类似。但是有一点语法上的不同:

React事件绑定属性的命名采用驼峰式写法,而不是小写。
假如采用 JSX 的语法你需要传入一个函数作为事件解决函数,而不是一个字符串(DOM元素的写法)
例如,传统的 HTML:



React 中稍稍有点不同


在 React 中另一个不同是你不能使用返回 false 的方式阻止默认行为。你必需明确的使用 preventDefault。例如,传统的 HTML 中阻止链接默认打开一个新页面,你可以这样写:


在 React,应该这样来写

在这里,e 是一个合成事件。React 根据 W3C spec 来定义这些合成事件,所以你不需要担心跨浏览器的兼容性问题。查看 SyntheticEvent 参考指南来理解更多。

使用 React 的时候通常你不需要使用 addEventListener 为一个已创立的 DOM 元素增加监听器。你仅仅需要在这个元素初始渲染的时候提供一个监听器。

必需谨慎对待 JSX 回调函数中的 this,类的方法默认是不会绑定this 的.
假如你不记得绑定 this.handleClick 并把它传入 onClick, 当你调用这个函数的时候 this 的值会是 undefined.

这并不是 React 的特殊行为;它是函数如何在 JavaScript 中运行的一部分。通常情况下,假如你没有在方法后面增加 () ,例如 onClick={this.handleClick},你应该为这个方法绑定 this

假如使用 bind 让你很烦,这里有两种方式可以处理。假如你正在使用试验性的属性初始化器语法,你可以使用属性初始化器来正确的绑定回调函数:

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 服务器应用
相关推荐
Netty ChannelHandler与ChannelPipeline源码解读
钱多多广告机返利系统源码开发
推荐一款技术人必备神器:Apifox
webpack中用loader加载css、less、sass样式
一个应届生,大四实习到毕业一个月,入行总结,有收获,有失去,有遗憾,但仍要继续前行。
首页
搜索
订单
购物车
我的