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 ...
 
随机推荐
- 跟我读论文丨ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别
			
摘要:本文是对ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别这一论文工作进行初步解读. 本文分享自华为云社区<ACL2021 NER | BERT化隐马尔可夫模型用于 ...
 - 比 Python 快得吓人,PyPy 极简入门
			
众所周知 Python 有一个致命的缺点:速度比 C.C ++ 等语言慢很多.PyPy 恰好可以解决这一问题,它能够让 Python 代码运行得比 C 还快. 比如: import time from ...
 - C++17 更通用的 union:variant
			
References 现代C++学习--实现多类型存储std::variant 如何优雅的使用 std::variant 与 std::optional std::variant 是 C++17 中, ...
 - Fedora 设置 core 文件路径
			
sudo vim /etc/sysctl.conf 输入 kernel.core_pattern=core.%p sudo /lib/systemd/systemd-sysctl 使修改生效 cat ...
 - Could not get a resource from the pool 异常定位和解决
			
最近在服务中经常看到以下错误,进行下定位和问题解决分析: 2023-12-08 00:10:58.248 WARN [terra-sr-server,a9006fd27ccb81d0,a9006fd2 ...
 - React报错之ref返回undefined或null
			
正文从这开始~ 总览 当我们试图在其对应的DOM元素被渲染之前访问其current属性时,React的ref通常会返回undefined或者null.为了解决该问题,可以在useEffect钩子中访问 ...
 - Nacos源码 (5) Grpc服务端和客户端
			
Nacos 2.x在服务端与客户端直接增加了GRPC通信方式,本文通过2.0.2版本源码,简单分析GRPC通信方式: 服务器启动 客户端连接 客户端心跳 服务器监控检查 服务器 proto文件 api ...
 - 【C++】在搞touchgfx时遇见了一个初始化列表顺序与类中定义不一致的问题,error:when initialized here [-Werror=reorder]
			
在搞touchgfx时遇见了一个初始化列表顺序与类中定义不一致的问题,error:when initialized here [-Werror=reorder] 初始化列表顺序与类中定义顺序不一致错误 ...
 - 使用 golang 开发 PHP 扩展
			
使用 golang 开发 PHP 扩展 环境 golang go1.19.9 darwin/arm64 Macos/Linux PHP8.1.11 编译安装 实战 PHP脚手架生成 进入PHP源码,使 ...
 - PG数据库的离线rpm包下载
			
PG数据库的离线rpm包下载 背景 周末时间研究数据库的版本. 发现PostgreSQL数据库的版本号已经变成了一年一个大版本. 兼容起来其实成本很高. 想着能够在能够上网的机器上面弄好多套数据库. ...