React中事件的绑定
事件绑定
语法:on +事件名= { ()=>{
do something
}}
<!-- 点击事件 -->
onClick={ () => { } }
注意的是:React采用的是驼峰命名法。
需要注意的是:在类组件中和函数组件中绑定事件是不同的哈
在类组件中绑定事件
<!-- 点击事件 -->
import React from "react";
class Hello extends React.Component{
render() {
return (
<div onClick={ this.sayFunc}>我是类组件</div>
)
}
sayFunc() {
console.log('我被触发了')
}
}
export default Hello
在函数组件中触发事件
import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
function SayHi() {
function sayContHander() {
console.log('我被触发了');
}
return (
<button onClick={sayContHander}>我是函数组件</button>
)
}
ReactDOM.render(<SayHi/>, document.getElementById('root'))
事件对象
通过事件处理程序的参数,获取到事件对象。
React中的事件对象叫做:合成事件
合成事件:兼容所有的浏览器,不需要担心浏览器的兼容性问题
事件对象
import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
class SayHi extends React.Component {
sayContHander(e) {
// 阻止浏览器的默认行为。表现为点击后不会跳转到B站。
e.preventDefault()
// 如果没有preventDefault,那么点击后会跳转
console.log('我被触发了');
}
render() {
// render函数返回的jsx推荐使用小括号包围。
// 或者说jsx返回来的使用小括号包围
return (
<a href='https://www.bilibili.com/' onClick={this.sayContHander}>不会跳转到B站</a>
)
}
}
ReactDOM.render(<SayHi/>, document.getElementById('root'))
React中事件的绑定的更多相关文章
- react双向事件的绑定
双向绑定有三步,第一步,触发onChange事件,第二步,拿到input里的值,第三步,使用setState将拿到的值传回到state中. 如何拿到input里的值,可以有两种方法,第一种方法是参数e ...
- React中的“双向绑定”
概述 React并不是一个MVVM框架,其实它连一个框架都算不上,它只是一个库,但是react生态系统中的flux却是一个MVVM框架,所以我研究了一下flux官方实现中的"双向绑定&quo ...
- react 中事件参数和一般参数以及this绑定的写法
import React from 'react'; import PropTypes from 'prop-types'; class Home extends React.Component{ r ...
- react.js 从零开始(五)React 中事件的用法
事件系统 虚拟事件对象 事件处理器将会传入虚拟事件对象的实例,一个对浏览器本地事件的跨浏览器封装.它有和浏览器本地事件相同的属性和方法,包括 stopPropagation() 和 prevent ...
- react中事件冒泡之填坑
今天在写个组件,大致代码是这样的: class Switch extends React.Component { handlerChange = (e) => { const {onChange ...
- react中事件的使用
import React from 'react' class Home extends React.Component{ constructor(props){ super(props) this. ...
- jquery中事件重复绑定以及解绑问题
一般的情况下,对于这种情况,我们常规的思路是,先解绑,再绑定,如下: $(selector).unbind('click').bind('click',function(){....}); 当这样会有 ...
- react第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制)
第五单元(事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制) 课程目标 深入理解和掌握事件的冒泡及捕获机制 理解react中的合成事件的本质 在react组件中合理的使用原生事件 ...
- React中的响应式设计思想和事件绑定
这两个点是react入门非常重要的两个点,以前我们是直接操作dom的形式去做,react的设计思想和以前直接操作dom是完全不同的,react是一个响应式的框架,他在做编程的时候,强调的是我们不要直接 ...
- React之事件绑定、列表中key的使用
在学习React的Hadding Events这一章节,发现事件回调函数的几种写法,看似区别不大,但实际差异还是蛮大的. class Toggle extends React.Component{ c ...
随机推荐
- 论文解读丨无参数的注意力模块SimAm
摘要:本文提出了一个概念简单但对卷积神经网络非常有效的注意力模块. 本文分享自华为云社区<论文解读系列三十:无参数的注意力模块SimAm论文解读>,作者:谷雨润一麦. 摘要 本文提出了一个 ...
- Go--下载安装
下载包地址:https://go.dev/dl/ linux: 下载后上传实例解压 tar -xvf go1.19.8.linux-amd64.tar.gz -C /usr/local/ 创建工作目录 ...
- 关于改造维护工单BAPI_ALM_ORDER_MAINTAIN用于生产订单组件批量修改
1.研究背景 1.1.业务背景 由于销售.研发.工艺等需要频繁变更,导致工单中组件需要频繁的进行变更,修改组件的物料,数量,库存地点,工序等内容. 1.2.技术痛点 为了满足要求,使用了函数:CO_X ...
- 0x01 基本算法-位运算
A题:a^b https://ac.nowcoder.com/acm/contest/996/A 题目描述 求 a 的 b 次方对 p 取模的值,其中 0 <= a,b,p <= 10^9 ...
- 开源:Taurus.DTS 微服务分布式任务框架,支持即时任务、延时任务、Cron表达式定时任务和广播任务。
前言: 在发布完:开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本,之后想想,好像除了事务外,感觉里面多了一个任务发布订阅的基础功能. 本想既然都有 ...
- SpringBoot-mybatisplus-@select用法
mybatisplus查询本生已经挺丰富,但有的时候还是想自己写sql语句,怎么写?这时候就需要使用@select来实现,具体用法如下: 1.数据准备 CREATE TABLE XY_DIC_BLOC ...
- 2、springboot创建多模块工程
系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...
- 《3D编程模式》写书-第2次记录
大家好,目前我已经完成了"拼接模式"."撤销重做模式"."ECS模式"的初稿 下面会给出它们的使用场景,如果您正好能用到,请联系我提前阅读模 ...
- php基础之PHP语言学习介绍
前言 PHP是网络安全中需要掌握的一门语言,但是就这么一点儿时间学网络安全,所以不可能特别精通PHP,这里并不是说要求你精通PHP,但是需要对于一些基础代码能够认识.能够编写那么就可以了. 同时,这里 ...
- liunx基础概述
一.liunx起源 1.1991,芬兰研究生Liunus Torvalds编写了liunx的代码,并上传到互联网 2.Liunx基于UNIX,但是有别与UNIX 3.Liunx的软件产品使用了社区开发 ...