React学习笔记之事件处理(二)


Posted in Javascript onJuly 02, 2017

之前已经给大家介绍了React中的条件渲染(传送门),本文将给大家关于React中事件处理的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

React的事件处理和DOM的事件处理是很相似的,只是有一些语法上的区别:

  • React的事件名是驼峰的,不是小写的
  • 在JSX语法中,你传递一个fucntion作为时间处理器,而不是一个string

举个例子:

<button onClick={activateLasers}> 
 Activate Lasers
</button>

而且如果你想拿到事件对象event,这个对象是React按照w3c标准完成的,所以不用担心浏览器的兼容性,可以像如下这样:

function ActionLink() { 
 function handleClick(e) {
 e.preventDefault();
 console.log('The link was clicked.');
 }

 return (
 <a href="#" rel="external nofollow" onClick={handleClick}>
  Click me
 </a>
 );
}

如果用ES6的class写法可以像如下一样:

class Toggle extends React.Component { 
 constructor(props) {
 super(props);
 this.state = {isToggleOn: true};

 // 这个`this`绑定是有必要的,用来让this可以在回调中被正确指向React组件的实例对象
 this.handleClick = this.handleClick.bind(this);
 }

 handleClick() {
 this.setState(prevState => ({
  isToggleOn: !prevState.isToggleOn
 }));
 }

 render() {
 return (
  <button onClick={this.handleClick}>
  {this.state.isToggleOn ? 'ON' : 'OFF'}
  </button>
 );
 }
}

ReactDOM.render( 
 <Toggle />,
 document.getElementById('root')
);

还有两种方式可以避免写显式bind(this) ,但是都不推荐这么用啊~所以就不再赘述~

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery(live)中File input的change方法只起一次作用的解决办法
Oct 21 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
Oct 15 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 Javascript
JavaScript实现简单生成随机颜色的方法
Sep 21 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 Javascript
基于jquery实现九宫格拼图小游戏
Nov 30 jQuery
Node登录权限验证token验证实现的方法示例
May 25 Javascript
React学习笔记之条件渲染(一)
Jul 02 #Javascript
vue.js学习之vue-cli定制脚手架详解
Jul 02 #Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
Jul 02 #Javascript
关于使用axios的一些心得技巧分享
Jul 02 #Javascript
React服务端渲染(总结)
Jul 01 #Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 #Javascript
详解node-ccap模块生成captcha验证码
Jul 01 #Javascript
You might like
DISCUZ 分页代码
2007/01/02 PHP
php Ajax乱码
2008/04/09 PHP
PHP面向对象概念
2011/11/06 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
2017/04/18 PHP
取得父标签
2006/11/14 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
javascript图片预加载实例分析
2015/07/16 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
详解Python中的日志模块logging
2015/06/19 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python二叉树的定义及常用遍历算法分析
2017/11/24 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
提升python处理速度原理及方法实例
2019/12/25 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
实习工作表现评语
2014/12/31 职场文书
明星邀请函
2015/02/02 职场文书
初中物理教学反思
2016/02/19 职场文书
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python