2016-07-07 2 views
1

Я пытаюсь передать это из встроенного onClick в функцию, и я знаю, что делаю глупую ошибку ... но мой мозг немного растаял.Реакция - прохождение (это) onClick?

Адрес FIDDLE.

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

Возможно, вам не следует использовать jquery для этого, лучше использовать состояние компонента для хранения информации об активном элементе и использовать его в вашем рендеринге: https://jsfiddle.net/euo2p1h2/1/ –

ответ

3

Существует много возможных решений (один из них использует ref). Но я отредактировал скрипку с более простым подходом:

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

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

Во всяком случае, я предлагаю другой подход вместо JQuery. Вы можете вручную обрабатывать активные элементы с помощью некоторой логики, используя реакцию.

+0

Спасибо! Я знал, что это что-то крошечное :) –