// vscode shift + ctrl + v 预览

es 5 写法

无参函数的绑定

  • first methods

    1. 定义函数:
    handleClick(e) { // e - 事件对象
    e.preventDefault();
    // doSomething ...
    }
    1. constructor 中绑定函数的执行上下文
    this.handleClick = this.handleClick.bind(this);
    1. jsx 中的调用
    <button onClick={this.hanleClick} />
  • second methods
    1. 定义函数
    // 同上
    1. jsx 中的调用
    <button onClick={this.hanleClick.bind(this)} />

有参数的绑定

  • only one

    1. 定义函数
    handleClick(param1, param2, e) {
    e.preventDefault();
    // do something ...
    }

    注意此时无论多少个参数, e 一定放在最后

    1. jsx 中调用
    <button onClick={this.hanleClick.bind(this, 'x', 'xx')} />

es 6 写法

无参数的绑定

  • only one

    1. 定义函数:
    handleClick = (e) => {
    e.preventDefault();
    // do something ...
    }
    1. jsx 中调用
    <button onClick={this.hanleClick} />

    比起 es 5 中的无参数函数的绑定调用, es 6 不需要使用 bind 函数;

有参数函数的绑定

  • first methods

    1. 定义函数:
    handleClick = (param1, e) => {
    e.preventDefault();
    // do something ...
    }
    1. jsx 中调用
    <button onClick={this.hanleClick.bind(this, 'x')} />

    有参数时,在绑定时依然要使用 bind;

    并且参数一定要传,不然仍然存在 this 指向错误问题;

  • second methods
    1. 定义函数:
    handleClick = (param1, e) => {
    // do something ...
    }
    1. jsx 中调用
    <button onClick={() => this.handleClick('c')} />
    // 如果需要对 event 对象进行处理的话,需要写成下面的格式
    <button onClick={(e) => this.handleClick('c', e)} />

react 事件绑定 es5/es6的更多相关文章

  1. 【转】React Native中ES5 ES6写法对照

    很多React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教程和例子都是 ...

  2. React事件绑定的几种方式对比

    React事件绑定 由于类的方法默认不会绑定this,因此在调用的时候如果忘记绑定,this的值将会是undefined.通常如果不是直接调用,应该为方法绑定this.绑定方式有以下几种: 1. 在构 ...

  3. React Native 的ES5 ES6写法对照表

    模块 引用 在ES5里,如果使用CommonJS标准,引入React包基本通过require进行,代码类似这样: //ES5 var React = require("react" ...

  4. React/React Native 的ES5 ES6写法对照表-b

    很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(class Foo extends React.Component),然而网上搜到的很多教 ...

  5. react 入坑笔记(四) - React 事件绑定和传参

    React 事件处理 建议:在了解 js 的 this 取值后食用更佳. 一.react 与 Html 中用法的异同和注意点 html 中的绑定事件的写法: <button onclick=&q ...

  6. react事件绑定的三种常见方式以及解决Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state问题思路

    在 React 组件中,每个方法的上下文都会指向该组件的实例,即自动绑定 this 为当前组件. 而且 React 还会对这种引用进行缓存,以达到 CPU 和内存的优化.在使用 ES6 classes ...

  7. React事件绑定的方式

    一.是什么 在react应用中,事件名都是用小驼峰格式进行书写,例如onclick要改写成onClick 最简单的事件绑定如下: class ShowAlert extends React.Compo ...

  8. React/React Native的 ES5 ES6 写法对照

      ES5 ES6 模块 var React = require("react-native); var { Image, Text, View } = React;   import Re ...

  9. React事件绑定与解绑

    React中事件分类 React中事件绑定分为两种: 1.直接添加在React元素上的事件,这是React在基于Virtual DOM的基础上实现的符合w3c规范的合成事件(SyntheticEven ...

随机推荐

  1. 微信小程序开发01-小程序的执行流程是怎么样的?

    前言 我们这边最近一直在做基础服务,这一切都是为了完善技术体系,这里对于前端来说便是我们需要做一个Hybrid体系,如果做App,React Native也是不错的选择,但是一定要有完善的分层: ① ...

  2. HTTP1.0和HTTP1.1的区别

    1.HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理 HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器 ...

  3. CentOS 7 最小化安装配置以及网络服务器搭建、配置与管理

    一.环境介绍: 运行软件:VMware Workstation Pro 系统环境:CentOS-7-x86_64-1810 系统网络运行模式:NAT模式 二.操作配置: 1.配置动态获取IP 1) 修 ...

  4. Spring基础学习,附例子代码讲解

    什么是Spring.IOC.AOP.DI?     Spring是一个基于IOC和AOP的结构J2EE系统的框架.     IOC(Inversion Of Control)控制反转(Spring的基 ...

  5. 卷积神经网络CNN

    卷积神经网络,在图像识别和自然语言处理中有很大的作用,讲cnn的中文博客也不少,但是个人感觉说的脉络清晰清晰易懂的不多. 无意中看到这篇博客,写的很好,图文并茂.建议英文好的直接去看原文.英文不好的就 ...

  6. 【带着canvas去流浪】(1)绘制柱状图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 四. 思考题 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端& ...

  7. 前端知识复习:Html DIV 图文混排(文字放在图片下边)

    Html知识复习之图文混排 练习练习基础 先上效果图: 废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.or ...

  8. Convert.ToInt32()和int.Parse()区别

    Convert.ToInt32()和int.Parse()都可以数据转换个int类型,区别在于: 1. Convert.ToInt32()将object类类型转换成int类型,例如:Convert.T ...

  9. day08 Html

    <del>我被删除了</del> <!--delete--> <b>我是粗体</b> <!-- bold --> <i&g ...

  10. activemq配置安装

    1.了解JMS查看百度百科 https://baike.baidu.com/item/JMS/2836691?fr=aladdin 2.了解ActiveMQ https://baike.baidu.c ...