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会被隐式传递同时排在参数后边

相关推荐
茜子.Java1 分钟前
分享一个输入 allure --version 报错解决方式
学习
弓.长.1 分钟前
基础入门 React Native 鸿蒙跨平台开发:Transform 变换
react native·react.js·harmonyos
哈哈你是真的厉害13 分钟前
基础入门 React Native 鸿蒙跨平台开发:ActivityIndicator 实现多种加载指示器
react native·react.js·harmonyos
WordPress学习笔记14 分钟前
解决Bootstrap下拉菜单一级链接无法点击的问题
前端·bootstrap·html
Never_Satisfied22 分钟前
C#插值字符串中大括号表示方法
前端·c#
踢球的打工仔1 小时前
typescript-类
前端·javascript·typescript
AI视觉网奇1 小时前
ue c++ 编译常量
c++·学习·ue5
天天打码1 小时前
Svelte-无虚拟DOM、极致性能的现代高性能Web开发框架!
前端·node.js·vue·svelte
2501_941864961 小时前
高效记忆与学习能力提升方法
学习