React框架的第八课 语法基础课《第二课React框架中的事件》

news2024/12/26 23:33:21

React框架的第八课 语法基础课《第二课React框架中的事件》

React中的事件是指通过React建立的应用程序中处理用户交互的响应。React事件处理程序只是在组件上调用的JavaScript函数,以响应某些类型的操作或事件,例如点击、触摸、滚动等。

React组件可以使用以下代码创建事件处理程序

onClick={handleClick}

其中onClick是React的一个内置事件,表示当元素被点击时将被触发的处理程序。在这里,handleClick是一个函数,它接受并执行单击事件处理逻辑。

除了onClick事件之外,React还支持许多其他事件类型,例如:

  1. onChange:表单控件值更改
  2. onSubmit:表单提交
  3. onFocus:获得输入焦点
  4. onBlur:失去输入焦点

React中的事件处理程序通常是类组件或函数式组件中定义的方法或函数。但是,在使用函数组件时,我们需要使用React的useStateuseEffect挂钩来跟踪组件的状态和处理任何副作用。

回顾JavaScript中的DOM元素中操作的事件

JavaScript中的DOM元素中操作的事件

事件属性名称

事件说明

触发因素

onblur

失去焦点时

键盘、鼠标、blur方法

onfocus

得到焦点时

键盘、鼠标、focus方法

onchange

修改内容时

键盘、鼠标、赋值语句

onclick

鼠标单击时

键盘、鼠标、click方法

ondblclick

鼠标双击时

鼠标

onkeydown

键盘按下

键盘

onkeypress

键盘按键(含按下与抬起)

键盘

onkeyup

键盘抬起

键盘

onmousedown

鼠标按下时

鼠标

onmousemove

鼠标移动时

鼠标

onmouseup

鼠标抬起时

鼠标

onmouseout

鼠标移出时

鼠标

onmouseover

鼠标移入时

鼠标

onload

Bodyframesetimage等对象载入时

系统

onsubmit

表单提交时

键盘、鼠标、submit方法

onreset

表单重置时

键盘、鼠标、reset方法

JavaScript中 Event对象

属性名称

属性说明

使用事件

altKeyctrlKey shiftKey

是否按下Alt键、Ctrl键、Shift

键盘事件、鼠标事件

button

鼠标按键是否按下

鼠标事件

keyCode

键盘按键时unicode键值

键盘事件

clientXclientY

鼠标在窗口区的坐标

鼠标事件

offsetXoffsetY

鼠标相对事件触发者的坐标

鼠标事件

srcElement

事件触发者

所有事件

altKey ctrlKey shiftKey

是否按下Alt键、Ctrl键、Shift

键盘事件、鼠标事件

 JQUERY中的事件

 

 

 

 

 

 

 

 

 

2. event对象2. event对象的常用属性的常用属性

 

 

 

 


 2. event对象的常用属性

 

import React, { Component } from 'react'
/**
 * 采用on+事件名的方式来绑定一个事件,注意,这里和原生的事件是有区别的,原生的事件全是小写

onclick , React里的事件是驼峰 onClick ,React的事件并不是原生事件,而是合成事件。

 */
export default class App extends Component {
    render() {
        return (
            <div>
                <input></input>
                {/* 事件绑定事件 函数执行单机事件 */}
                
                <button onClick={() => {
                    console.log("CLICK1用户单机按钮一的内容")
                }}>增加按钮1</button>
                {/* <button onClick={this.handleCliclk()}>增加按钮2</button> */}
                <button onClick={this.handleCliclk}>增加按钮2</button>

                <button onClick={this.handleCliclk3}>增加按钮3</button>

                <button onClick={()=>{
                this.handleCliclk4()
                }}>增加按钮4</button>
            </div>
        )

    }

    handleCliclk() {
        console.log("CLICK2用户单机按钮2的内容")
    }

    // es6
    handleCliclk3=()=>{
        console.log("CLICK2用户单机按钮3的内容")
    
    }


    handleCliclk4=()=>{
        console.log("CLICK2用户单机按钮4的内容")
    
    }




}
import React, { Component } from 'react'
/**
 * 采用on+事件名的方式来绑定一个事件,注意,这里和原生的事件是有区别的,原生的事件全是小写

onclick , React里的事件是驼峰 onClick ,React的事件并不是原生事件,而是合成事件。

 */
export default class App extends Component {
 a=200
    render() {
        return (
            <div>
                <input></input>
                {/* 事件绑定事件 函数执行单机事件 */}
                
                <button onClick={(even) => {
                    console.log("CLICK1用户单机按钮一的内容",this.a,even.target)
                }}>增加按钮1</button>
                {/* <button onClick={this.handleCliclk()}>增加按钮2</button> */}
                <button onClick={this.handleCliclk2.bind(this)}>增加按钮2</button>

                <button onClick={this.handleCliclk3}>增加按钮3</button>

                <button onClick={()=>{
                this.handleCliclk4()
                }}>增加按钮4</button>
            </div>
        )

    }

    handleCliclk2() {
        console.log("CLICK2用户单机按钮2的内容",this)
    }

    // es6
    handleCliclk3=()=>{
        console.log("CLICK2用户单机按钮3的内容",this.a)
    
    }


    handleCliclk4=()=>{
        console.log("CLICK2用户单机按钮4的内容",this.a)
    
    }




}


// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有
//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React
// import App from './App';
import React from'react'
// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中
//引入的,而不是从 react 引入。

import ReactDOM from 'react-dom'
// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上
// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语
//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。
// import App from'./01-base/01-class组件'
// import App from'./01-base/02-函数式组件'
// import App from'./01-base/03组件套娃'
import App from'./01-base/04-组件的样试'

// import App from './01-base/07Ref'
// import App from './01-base/08state'
// import App from './01-base/09数组循环'

ReactDOM.render(
    // <div>
    // <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b>
    // <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2>
    // </div>
    // React.createElement("div",{
    //     id:"aaaa",
    //     class:"bbbbb"
    // },"我是第二种方案")
    // <div>11111</div>
    <App></App>
    ,
    document.getElementById("root")
    )
//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面


    /**
     * jsx=js+xml
     */

1

 

2

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/481041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【P3】HTTP 接口设计

一、简答 HTTP 接口设计 HTTP请求默认值&#xff1a; 配置 http 请求的默认值&#xff0c;比如协议、主机、端口 HTTP信息头管理器&#xff1a; 配置 http 请求的头部参数 HTTP请求&#xff1a; 用于和业务交互 查看结果树&#xff1a; 用于结果展示 二、准备工作 慕慕生…

希尔排序详解(Shell Sort)

本文已收录于专栏 《算法合集》 一、简单释义 1、算法概念 希尔排序是插入排序的一种又称“缩小增量排序”&#xff0c;是直接插入排序算法的一种更高效的改进版本。希尔排序是把记录按下标的一定增量分组&#xff0c;对每组使用直接插入排序算法排序&#xff1b;随着增量逐渐…

【复杂网络建模】——Pytmnet进行多层网络分析与可视化

目录 一、Pymnet介绍 二、安装步骤 三、多层网络的构建 1、单层网络的构建 2、双层随机网络的构建和可视化 3、多路复用网络图的可视化 四、总结 一、Pymnet介绍 官网&#xff1a; Pymnet是一个用于网络分析和建模的Python库。它提供了各种网络分析工具&#xff0c;例…

shell的基础学习一

文章目录 一、shell的简介二、 Shell 变量三、Shell 传递参数总结 一、shell的简介 Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言。 Shell 是指一种应用程序&#xff0c;这个应用程序提供…

百胜中国:未来将实现强劲增长

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 收入分析与未来展望 在过去的三年里&#xff0c;百胜中国&#xff08;YUMC&#xff09;的收入一直受到疫情导致的旅行限制和封锁的影响。为了应对疫情造成的业务中断&#xff0c;该公司开始专注于外卖业务&#xff0c;并将…

中通快递财报预测:中通快递2023年收入和利润将大幅下降

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 市场对中通快递2023年的预测 卖方虽然预测中通快递&#xff08;ZTO&#xff09;在2023年的表现会很不错&#xff0c;但他们也预计中通快递今年的财务业绩将不会像去年那样好。 根据S&P Capital IQ的数据&#xff0c;卖…

【软考备战·希赛网每日一练】2023年5月1日

文章目录 一、今日成绩二、错题总结第一题第二题 三、知识查缺 题目及解析来源&#xff1a;2023年05月01日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析&#xff1a; 了解即可。 第二题 解析&#xff1a; 在序列基本有序时&#xff0c;快速排序基准元素起不到分…

第16章 变更管理

文章目录 16.1.2 项目变更的分类 50416.1.3 项目变更产生的原因 50516.2 变更管理的基本原则 50516.3 变更管理角色职责与工作程序 50616.3.1 角色职责 50716.3.2 工作程序 50716.4.1 变更管理操作要点 511 16.1 项目变更的基本概念 504 项目变更是指在信息系统项目的实施过程中…

【蓝桥杯】Python基础:经济基础决定上层建筑!

前言&#xff1a;今年4月第一次参加蓝桥杯比赛&#xff0c;选择的Python 研究生组赛道。在备赛过程中&#xff0c;发现经常会用到一些编程小技巧&#xff0c;因此笔者整理了一些蓝桥杯Python组编程基础常用的内容&#xff0c;以便日后备用。如果有小伙伴也觉得实用&#xff0c;…

1 对数器,二分查找,

文章目录 对数器二分查找**1. 有序序列二分查找****2. 在一个有序数组中&#xff0c;找<某个数最右侧的位置****3. 在一个有序数组中&#xff0c;找>某个数最左侧的位置****4. 无序序列二分查找 &#xff0c;求局部最小值** 对数器 对数器用于在自己的本地平台验证算法正…

百度、谷歌等搜索引擎高效搜索方法 —— 更快速搜索到你想要内容

一、常用搜索方法 1、限定标题 intitle 又被称为去广告搜索法&#xff0c;intitle命令&#xff0c;即in title&#xff08;在标题里&#xff09;返回的的结果是网页的标题包含该关键词。一般情况下搜索的关键词都会在标题里出现&#xff0c;使用intitle命令一般是在特殊需求下…

极乐迪斯科(风格) | Disco Elysium – Style LoRA

目录 What is this ❓How to use / 使用方法 &#x1f4dd;其他信息与参数: 模型演示&#xff08;多图预警&#xff09; 正面tag 负面tag What is this LoRA版本的极乐迪斯科风格模型, 使用共计15张图片, 分辨率为1024*1024, 用Anything v4.5训练. 其他模型没有经过测试,…

Linux之【多线程】生产者与消费者模型BlockQueue(阻塞队列)

生产者与消费者模型 一、了解生产者消费者模型二、生产者与消费者模型的几种关系及特点三、BlockQueue&#xff08;阻塞队列&#xff09;3.1 基础版阻塞队列3.2 基于任务版的阻塞队列3.3 进阶版生产消费模型--生产、消费、保存 四、小结 一、了解生产者消费者模型 举个例子&am…

计算机组成原理第五章(3)DMA处理

三种控制方式&#xff1a;程序查询程序中断DMA方式 回顾一下 之前的中断控制方式&#xff0c;如果是输入命令&#xff0c;先启动命令&#xff0c;通过地址总线选择相应的接口&#xff0c;通过地址译码之后的到选择电路&#xff0c;这个接口准备开始工作。 启动外部设备&#…

网络编程总结一:

一、网络基础&#xff1a; 概念&#xff1a;1> 网络编程的本质就是进程间的通信&#xff0c;只不过进程分布在不同的主机上 2>在跨主机传输过程中&#xff0c;需要确定通信协议后&#xff0c;才可以通信 1. OSI体系结构&#xff08;重点&#xff09; 定义7层模型&…

类和对象(上篇)【C++】

C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事拆分成不同的对象&#xff0c;靠对象之间的交互完成。 目录 一、类的定义 二、访问限定符…

【小样本分割 2020 TPAMI 】PFENet

文章目录 【小样本分割 2020 TPAMI 】PFENet1. 简介1.1 问题1) 高级特征误用造成的泛化损失2) 查询样本和空间样本之间的空间不一致 1.2 方法 2. 网络2.1 整体架构2.2 先验掩膜生成2.3 FEM模块 3. 代码 【小样本分割 2020 TPAMI 】PFENet 论文题目&#xff1a;Prior Guided Fea…

flinkCDC相当于Delta.io中的什么 delta.io之CDF

类似flink CDC databricks 官方文档: How to Simplify CDC With Delta Lakes Change Data Feed - The Databricks Blog delta.io 官方文档: Change data feed — Delta Lake Documentation 概述 更改数据馈送 (CDF) 功能允许 Delta 表跟踪 Delta 表版本之间的行级更改 在…

C语言函数与递归

目录&#x1f60a; 1. 函数是什么&#x1f43e; 2. 库函数&#x1f43e; 3. 自定义函数&#x1f43e; 4. 函数参数&#x1f43e; 5. 函数调用&#x1f43e; 6. 函数的嵌套调用和链式访问&#x1f43e; 7. 函数的声明和定义&#x1f43e; 8. 函数递归&#x1f43e; 1. 函…

二叉搜索树(内含AVL树的旋转操作的详细解释)

二叉搜索树 二叉搜索树的概念二差搜索树结构设计二叉搜索树的操作以及实现遍历判空插入查找删除(☆☆☆)二叉搜索树的其他方法 二叉搜索树的应用二叉搜索树的性能分析二叉树习题练习AVL树AVL树的概念AVL树的结构设计AVL树的插入(非常重要)AVL树的旋转(☆☆☆☆☆)AVL树的插入操…