调用onClick ReactJS的多个函数

JavaScript

乐米亚

2020-03-12

我知道在香草js中,我们可以做到

onclick="f1();f2()"

在ReactJS中进行两个函数onClick的等效操作是什么?

我知道调用一个函数是这样的:

onClick={f1}

第1080篇《调用onClick ReactJS的多个函数》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
阳光十三 2020.03.12

也许您可以使用箭头函数(ES6 +)或简单的旧函数声明。

普通函数声明类型(非ES6 +):

<link href="#" onClick={function(event){ func1(event); func2();}}>Trigger here</link>

匿名功能或箭头功能类型(ES6 +

<link href="#" onClick={(event) => { func1(event); func2();}}>Trigger here</link>

第二条是我所知道的最短的道路。希望对您有帮助!

前端老丝 2020.03.12

将两个函数的调用包装在另一个函数/方法中。这是该想法的几个变体:

1)分开的方法

var Test = React.createClass({
   onClick: function(event){
      func1();
      func2();
   },
   render: function(){
      return (
         <a href="#" onClick={this.onClick}>Test Link</a>
      );
   }
});

或使用ES6类:

class Test extends React.Component {
   onClick(event) {
      func1();
      func2();
   }
   render() {
      return (
         <a href="#" onClick={this.onClick}>Test Link</a>
      );
   }
}

2)内联

<a href="#" onClick={function(event){ func1(); func2()}}>Test Link</a>

或等效于ES6:

<a href="#" onClick={() => { func1(); func2();}}>Test Link</a>

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android