2014-09-26 3 views
39

나는 바닐라 JS, 우리는전화 다양한 기능의 onclick ReactJS

onclick="f1();f2()" 

은 무엇 두 기능의 onclick이 ReactJS에서 호출을 만들기위한 동등한 것 할 수있어? 나는 하나 개의 함수를 호출 알고

은 다음과 같이이다 :

onClick={f1} 
+0

아주 간단합니다 :'ele.onclick = ...'또는'addEventListener'와 같이 두 함수를 호출하는 함수를 전달하십시오. –

답변

74

은 두 개의 + 함수가 다른 함수/메소드 호출에서는 랩.

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={(event) => { func1(); func2();}}>Test Link</a> 
+4

또는 덜 최적화 된 : onclick = {function() {f1(); f2(); }}' –

+8

또는 ES6에서'onclick = {() => {f1(); f2()}}' –

+2

또는 cjsx : onClick = {() => f1(); f2()}' – Vadorequest

관련 문제