React 项目--button 绑定事件(15)

女爷i 2022-09-05 14:57 263阅读 0赞

不知不觉中写博客已经成为了一种习惯,不仅仅是一种学习知识吧,也是一种清楚自己学习了那些的内容。在前面的博客中我们慢慢的介绍了一些react基本的语法,现在我们继续来react按钮绑定事件

环境准备

首先我们创造一个组件,并且在组件上添加一个按钮

  1. import React from 'react'
  2. import ReactDOM from 'react-dom'
  3. export default class BindEvent extends React.Component{
  4. constructor(){
  5. super()
  6. this.state={}
  7. }
  8. render(){
  9. return <div>
  10. <p>BindEvent 组件</p>
  11. <hr />
  12. <button>按钮</button>
  13. </div>
  14. }
  15. }

我们来预览一下这个组件:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RhdG91bmlhbzE_size_16_color_FFFFFF_t_70

写到标签内部

  1. <button onClick={function(){console.log("22")}}>按钮</button>

这个地方就是添加了一个函数,当我们点击按钮的时候控制台输出 “22”

function 是一个匿名的函数,我们在javascript 编写代码的时候,匿名函数有两种方式书写一个是用箭头函数,一个是function,上面的function我们编写成为箭头函数如下:

  1. <button onClick={()=>{console.log("22")}}>按钮</button>

写到标签外部

这个是我们把函数直接写到按钮的标签里面了,当然如果说函数执行的内容比较少,我们可以这样来写,但是如果比较多的话,那么我们这个语句会看着很繁琐,那么我们就要想办法将这个函数从语句中抽离出来

  1. export default class BindEvent extends React.Component{
  2. constructor(){
  3. super()
  4. this.state={}
  5. }
  6. render(){
  7. return <div>
  8. <p>BindEvent 组件</p>
  9. <hr />
  10. <button onClick={this.btnClickFunc}>按钮</button>
  11. </div>
  12. }
  13. btnClickFunc(){
  14. console.log("22222222222");
  15. }
  16. }

这个是抽离,我们在类中创建了一个实例的函数,并且点击按钮的时候 执行 this.btnClickFunc

需要注意的时候,此处不能这样写:

  1. <button onClick={this.btnClickFunc()}>按钮</button>

这样在页面刷新的时候 btnClickFunc 方法就会被执行,而不是在点击按钮的时候

方法后面添加上括号,那么在初始化的时候就会调用该方法,但是我们换一种方式,使用箭头的函数就不一样了:

  1. <button onClick={()=>{this.btnClickFunc()}}>按钮</button>

这里我们就看到了箭头函数的优势,在onClick 中我们使用箭头函数,在箭头函数里面我们调用其他的方法,这样在刷新页面的时候就不会调用btnClickFunc方法,而是在点击按钮的时候执行。

那么我们就可以在onClick 中使用这一种模式,如果调用的函数包含参数的话,似乎只能使用这一种方式、

  1. export default class BindEvent extends React.Component{
  2. constructor(){
  3. super()
  4. this.state={}
  5. }
  6. render(){
  7. return <div>
  8. <p>BindEvent 组件</p>
  9. <hr />
  10. <button onClick={()=>{this.show('wdg')}}>按钮</button>
  11. </div>
  12. }
  13. btnClickFunc(){
  14. console.log("22222222222");
  15. }
  16. show(name){
  17. console.log(name)
  18. }
  19. }

上面就是我们被button绑定一个事件,那么需要注意几点:

  1. 事件绑定的时候onClick 写法固定,必须是峰驼式的方式命名

  2. 在后面的方法中,我们最好使用箭头的函数,这样能为函数传递参数

希望对你有所帮助

发表评论

表情:
评论列表 (有 0 条评论,263人围观)

还没有评论,来说两句吧...

相关阅读

    相关 React 项目--button 事件15

    不知不觉中写博客已经成为了一种习惯,不仅仅是一种学习知识吧,也是一种清楚自己学习了那些的内容。在前面的博客中我们慢慢的介绍了一些react基本的语法,现在我们继续来react按

    相关 react+ES6(事件)

    最近一直在看react。之前看react的时候很多都是旧的写法(es5),这几天因项目要求把es6和react一起结合看了一下,自己也写了几个demo,想把这些demo拿出来分