我知道在香草JavaScript中,我们可以做到:
onclick="f1();f2()"
在ReactJS中做两个函数调用onClick会等价什么?
我知道调用一个函数是这样的:
onClick={f1}
我知道在香草JavaScript中,我们可以做到:
onclick="f1();f2()"
在ReactJS中做两个函数调用onClick会等价什么?
我知道调用一个函数是这样的:
onClick={f1}
当前回答
最好的方法:
onClick={() => {f1();f2 ();}}
其他回答
最好的方法:
onClick={() => {f1();f2 ();}}
您可以简单地将其包装在[]中。这将工作以及在材质UI按钮。
<Button onClick={(event) => [function1(), function2()]}>Click Me</Button>
单击以查看示例代码
单击以查看输出
将两个+函数调用打包到另一个函数/方法中。以下是这一观点的几个变体:
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>
//不要这样做 函数App() { 回报( < div > <按钮 onClick={() => { console.log('你好'); console.log(的世界); }} > 我是一个按钮 < /按钮> < / div > ); } //这样做 函数App() { 函数fun1() { console.log('你好'); } 函数fun2() { console.log(的世界); } 回报( < div > <按钮onClick = {() = > {fun1 (); fun2();}} >点击< / >按钮 < / div > ); }
功能组件
<button
onClick={() => {
cancelOrder();
handlerModal();
}}
>
Cancel
</button>