React之事件处理

在react中,事件处理的写法和处理方式可能会和vue以及传统html有些不同。

一、事件名和默认行为阻止

事件名采用驼峰写法,并且方法名用大括号引入,而不是双引号:

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

对于类似a标签的默认跳转事件:

handleClick(e) {
    e.preventDefault();
    console.log(‘The link was clicked.‘);
}
return (
    <a href="#" onClick={handleClick}>
      Click me
    </a>
);

二、绑定事件

由于作用域的问题,tick函数得卸载外面,这样一来,也就不能操作App这个类下面的所有属性以及事件了。so,那就放里面?

哈哈,undefined,对此解决方法有三种:

①手动绑定this

②采用属性初始化器语法

③性能问题的第三种

onClick={(e) => this.handleClick(e)}

使用这个语法有个问题就是每次组件渲染的时候都会创建一个不同的回调函数。在大多数情况下,这没有问题。然而如果这个回调函数作为一个属性值传入低阶组件,这些组件可能会进行额外的重新渲染。我们通常建议在构造函数中绑定或使用属性初始化器语法来避免这类性能问题。

原文地址:https://www.cnblogs.com/eco-just/p/10562407.html

时间: 2024-10-18 09:41:20

React之事件处理的相关文章

react的事件处理为什么要bind this 改变this的指向?

react的事件处理会丢失this,所以需要绑定,为什么会丢失this? 首先来看摘自官方的一句话: You have to be careful about the meaning of this in JSX callbacks. In JavaScript, class methods are not bound by default. 这句话大概意思就是,你要小心jax回调函数里面的this,class方法默认是不会绑定它的 让我十分疑惑,在我的知识范围理解中,class是es6里面新增

react篇章-事件处理

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>React 实例</title> <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script> <script src=&quo

React事件处理

事件处理直接参考了慕课网上的教程,然后自己根据教程来编写实例,通过下面的实例可以很清晰地理解React的事件处理,其中需要注意的是索引refs! <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcs

React 组件的生命周期API和事件处理

一.简单记录React的组件的简洁的生命周期API: A:实例化期: 一个实例第一次被创建时所调用的API与其它后续实例被创建时所调用的API略有不同. 实例第一次被创建时会调用getDefaultProps,而后续实例创建时不会调用这个方法. 实例被创建时,依次被调用的API有: getDefaultProps: 实例第一次被创建时才调用,对于组件类来说,它只调用一次. 这个方法返回的对象可为实例设置默认的props值. getInitialState: 对于每个实例来说,这个方法只调用一次.

React 中阻止事件冒泡的问题

在正式开始前,先来看看 JS 中事件的触发与事件处理器的执行. JS 中事件的监听与处理 事件捕获与冒泡 DOM 事件会先后经历 捕获 与 冒泡 两个阶段.捕获即事件沿着 DOM 树由上往下传递,到达触发事件的元素后,开始由下往上冒泡. IE9 及之前的版本只支持冒泡 | A -----------------|--|----------------- | Parent | | | | -------------|--|----------- | | |Children V | | | | --

新手学习 React 迷惑的点

网上各种言论说 React 上手比 Vue 难,可能难就难不能深刻理解 JSX,或者对 ES6 的一些特性理解得不够深刻,导致觉得有些点难以理解,然后说 React 比较难上手,还反人类啥的,所以我打算写两篇文章来讲新手学习 React 的时候容易迷惑的点写出来,如果你还以其他的对于学习 React 很迷惑的点,可以在留言区里给我留言. 为什么要引入 React 在写 React 的时候,你可能会写类似这样的代码: import React from 'react' function A() {

百度面经

1. 计算机网络TCP的三次握手和四次挥手,画图并解释. 为什么不用4次握手 2. bootstrap的tab页面是怎么实现的 3. react的事件处理函数 4. ES6了解哪些 5. 箭头函数和普通函数的区别,举例说明 6. react事件处理函数的箭头函数的写法 7. array的遍历函数中哪些可以break出来 8. Sass的特点,css预处理的好处 ****把react项目再好好复习

【年终总结】微信前端社招有感

时间飞快,转眼间8102还差一个月就over了,顺了顺好几天没理的胡渣儿,好像已经老了不少. 不,我还很年轻!虽然年终还没到,但好像也差不多了. 几经辗转,年底前终于拿到了微信的offer,可以说是今年一大幸事了. 是一个结束,结束本命年的坎坷:是一个开始,开始新的征程. 这篇杂文就简单记录一下微信前端社招的经历,以及回顾这两年半做过的东西. 一.过七关 微信社招,老早就听说难度极大,十几轮面试的情况都有. 所以急不得,大概今年下半年开始,本菜菜就着手准备了,主要是扩充知识面以及加深对相关知识的

为什么React事件处理函数必须使用Function.bind()绑定this?

最近在React官网学习Handling Events这一章时,有一处不是很明白.代码如下: class Toggle extends React.Component { constructor(props) { super(props); this.state = {isToggleOn: true}; // This binding is necessary to make `this` work in the callback this.handleClick = this.handleC