2016-07-07 1 views
1

인라인 onClick에서 함수에 전달하려고하고 있는데 어리석은 실수를 저지르고 있다는 것을 알고 있지만 내 뇌는 약간 녹아 있습니다.React - passing (this) onClick?

여기는 FIDDLE입니다.

handleClick() { 
    $('.nav-link').removeClass('active'); 
    $(this).addClass('active'); 
} 
+1

어쩌면 jquery를 사용해서는 안되며, 활성화 된 항목에 대한 정보를 저장하기 위해 컴포넌트 상태를 더 잘 사용하고 렌더 할 때 사용하십시오. https://jsfiddle.net/euo2p1h2/1/ –

답변

3

많은 가능한 해결책이 있습니다 (그 중 하나는 참조를 사용하고 있습니다). 하지만 간단한 방법으로 바이올린을 편집 :

handleClick(e) { 
    $('.nav-link').removeClass('active'); 
    $(e.target).addClass('active'); 
    } 

https://jsfiddle.net/mrlew/esn5sz5b/2/

을 어쨌든, 내가 대신 JQuery와의 또 다른 접근 방식을 제안한다. 반응을 사용하여 일부 논리로 활성 항목을 수동으로 처리 할 수 ​​있습니다.

+0

감사합니다! 나는 그것이 작은 무엇인가이었다라는 것을 알고 있었다 :) –