React 学习-4

1.事件处理,传入函数作为事件处理函数

javascript 复制代码
<button onClick={activateLasers}>
  激活按钮
</button>

注意事项:(1)阻止默认行为必须使用preventDefault,不能使用return false

(2)ES6 class 语法来定义一个组件的时候,事件处理器会成为类的一个方法

(3) JSX 回调函数中类的方法默认是不会绑定 this 的,使用时应该为方法绑定 this(使用bind、属性初始化器、在回调函数中使用 箭头函数)

javascript 复制代码
构造器中绑定this示例:

    // 这边绑定是必要的,这样 `this` 才能在回调函数中使用
    this.handleClick = this.handleClick.bind(this);

方法中绑定this示例一:
render() {
    return (
      <button onClick={this.handleClick}>
        Click me
      </button>
    );
  }

方法中绑定this示例二:
render() {
    //  这个语法确保了 `this` 绑定在  handleClick 中
    return (
      <button onClick={(e) => this.handleClick(e)}>
        Click me
      </button>
    );
  }
  1. 事件传递参数
javascript 复制代码
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>

箭头函数中,参数e作为react事件对象显示传递,在bind传参方式中,e会被隐式传递同时排在参数后边

相关推荐
小白小白从不日白3 分钟前
react hooks--useReducer
前端·javascript·react.js
下雪天的夏风16 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
diygwcom27 分钟前
electron-updater实现electron全量版本更新
前端·javascript·electron
volodyan31 分钟前
electron react离线使用monaco-editor
javascript·react.js·electron
Hello-Mr.Wang44 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
程序员凡尘1 小时前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
潮汐退涨月冷风霜1 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习