React onClick点击事件传参三种写法

摘要:
第一种是用bind绑定。调用作为第二个参数传递,而不显示传递的事件对象。定义方法时,事件对象作为最后一个参数传递给classTestextendsAct。组件{constructor(props){super(prop)}render(){return(<buttonClick={this.getParameter.bind(this,'abc')}>button</button>)}

第一种

用bind绑定,调用是作为第二个参数传递,不用显示传递事件对象,定义方法时,事件对象作为最后一个参数传入

class Test extends React.Component{
  constructor(props){
    super(props)
  }
  render(){
    return(
      <button onClick={this.getParameter.bind(this,'abc')}>按钮</button>
    )
  }
  getParameter=(e,msg)=>{
    console.log(e);
    console.log(msg);
  }
}
ReactDOM.render(<Test />, document.getElementById('root'));

第二种

返回一个函数,事件对象在返回的函数中

class Test extends React.Component{
  constructor(props){
    super(props)
  }
  render(){
    return(
      <button onClick={this.getParameter('abc')}>按钮</button>
    )
  }
  getParameter=(msg)=>{
    return ()=>{
      console.log(msg);
      
    }
  }
}
ReactDOM.render(<Test />, document.getElementById('root'));

第三种

事件对象作为第二个参数传递

class Test extends React.Component{
  constructor(props){
    super(props)
  }
  render(){
    return(
      <button onClick={ e => this.getParameter(e,'abc') }>按钮</button>
    )
  }
  getParameter=(e,msg)=>{
    console.log(e);
    console.log(msg);
    
  }
}
ReactDOM.render(<Test />, document.getElementById('root'));

免责声明:文章转载自《React onClick点击事件传参三种写法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MybatisPlus使用Wrapper实现查询功能Java接口自动化框架增加钉钉机器人配置,自动发送测试结果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL8.0官方文档学习

InnoDB架构 下面的架构里只挑选了部分内容进行学习 内存架构(In-Memory Structures) Buffer Pool Buffer Pool是内存中的一块区域,InnoDB访问表和索引的时候缓存这些数据。buffer pool使得经常使用的数据直接从内存读取,加快了数据处理。在专用的服务器上,会给buffer pool分配80%的物理内存...

Android学习之---常用布局

1、线性布局 - LinearLayout LinearLayout 是一个视图容器,用于使所有子视图在单个方向(垂直或水平)保持对齐。您可 使用 android:orientation 属性指定布局方向。 android:orientation="horizontal"(水平) android:orientation="vertical"(垂直) 布...

为什么react的组件要super(props)

  对这个问题纠结了好几天,一直没时间深入研究。在segmentfault看到有人提出了同样的问题,下面这篇SF给出了解释。为什么react的组件要super(props) 解释一:  调用super的原因:在ES6中,在子类的constructor中必须先调用super才能引用this super(props)的目的:在constructor中可以使用...

Unity3d—GUI按钮控件

这是自己的第一篇记录自己的技术文章,自己还是个菜鸟,有错误之处还望大家能够多多指点。1、在project视图中创建C#脚本,我命名为 Gui_test 2、然后打开该脚本,输入以下代码:1 usingSystem.Collections; 2 usingSystem.Collections.Generic; 3 usingUnityEngine; 4...

oracle sqlplus 命令行中创建存储过程

while 循环插入测试数据 1.创建存储过程 create or replace procedure proc_test_while is i number; begin i := 0; while i < 40 loop i := i + 1; insert...

【转】在Eclipse下搭建Android开发环境教程

本文将全程演示Android开发环境的搭建过程,无需配置环境变量。所有软件都是写该文章时最新版本,希望大家喜欢。   一 相关下载 三 Eclipse配置   (1)Java JDK下载   1 安装android 开发插件   (2)Eclipse下载   2 配置Android SDK   (3)下载Android SDK   3 新...