在 React 中为按钮绑定点击事件1|学习笔记

简介: 快速学习在 React 中为按钮绑定点击事件1

开发者学堂课程【React 入门与实战在 React 中为按钮绑定点击事件1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/585/detail/8116


在 React 中为按钮绑定点击事件1


目录:

一、React 中绑定事件的注意点


一、React 中绑定事件的注意点

React 中事件都由 React 提供,事件名字必须按 React 规范来写。比如点击事件onClick 事件C字母需要大写,像鼠标的覆盖事件 onMouseOver M O 需要大写。

//点击事件由 onClick 提供 鼠标事件由 onMouseOver 提供,下面实例举例:

components 中新建 BindEvent.jsx

import React from' react'
export default class BindEvent extends React . Component {

constructor(){
super( )
//私有数据this.state = {}
}

render(){//需要一个合法js标签return
BindEvent 组件

{/*在React 中,有一套自己的事件绑定机制;事件名,是小驼峰命名*/}

按钮

//在页面上放一个按钮
//在传统的网页中可使用下方三个中其中一种方法修改上面的代码

{/*function()( console.log('ok') }}>按钮*/}

//改为首字母大写后,就变成React中事件绑定机制了。

如果 onClick 后面填写为空会报错,提醒需要一个 function 。当点击按钮时就会走function 这个函数,只要一点就会调用 function 。如果处理函数逻辑比较复杂那么这么写就显得比较乱。接下来可以将 function 单独抽出来。

//这是一个匿名函数

//注释后修改为:

按钮

//在自己的方法内调用方法需要用 this 标注

//如果加的小括号,是方法的调用,并把调用的反回值放到相应位置,不点击按钮就直接显示出结果。直接用 myclickHandler 是不行的,需要加 this。每当触发onClick 执行箭头函数的时候,就执行了函数体内的内容。

//传统按钮事件处理方法有

//onclick=""  onmouseovers=""  onmouseenters=""

//"" 中填一个处理函数

//用这三种方法会报出三个错误,可以猜出在 React 中有一套自己的事件处理机制。

}
}

//这是一个实例方法 myclickHandler()=>{

// myclickHandler() 属于类的内部,render()myclickHandler()都属于实例方法。将函数的引用交给function     console. log( '22222222' )}//这是匿名函数的引用,和匿名函数效果是完全一样的。

index.js 中编写:

//1. 导入包

// import React, {Component} from 'react'
import React from'react'
import ReactDOM from' react - dom'
import BindEvent from'@/ components/ BindEvent'
//

3.调用 render 函数渲染

ReactDOM. render(

I

//只要 new 了一个实例在页面上,那么 rende 函数必然会被执行。render 就会解析执行 return 里面的东西,当解析到 onClick 事件那么 render 这个框架就会解析执行 onClick 里面的代码。

//用了这个组件就必然会调用上方的函数

,document.getElementById('app'))

2.为事件提供的处理函数,必须是如下格式 onClick= { function }

//使用时必须制定一个 function

3.用的最多的事件绑定形式为:

//这是鼠标点击事件的标准用法

//实例及注意事项

{/*注意: onClick 直接受 function 作为处理函数*/}
{/*
注意:箭头函数,本身就是一个匿名的 function 函数*/}
{} }>按钮

//放了一个箭头函数相当于放了一个 function

btn.onclick () => {
//
}
setTimeout(function(){
// this
指向 window

}, 1000)

setTimeout(()  =>{
// this
不一定指向 window
}, 1000)


相关文章
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之1
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之1
56 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之7
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之7
70 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之2
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之2
60 0
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之2
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之2
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之2
54 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之1
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之1
46 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之2
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之2
55 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之1
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之1
60 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之1
前端学习笔记202306学习笔记第五十二天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件上之1
60 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之3
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之3
52 0
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之4
前端学习笔记202306学习笔记第五十三天-react.js & material-ui之构造数据,tabs和Grid部分的点击事件中之4
41 0