Задать вопрос
GrenadinGran
@GrenadinGran
Помог ответ - отметь решением

Как убрать класс у неактивного элемента React?

Здравствуйте! Только начал изучать реакт, поэтому прошу прощения за глупый вопрос.
Нужно, чтобы при добавлении класса clicked одному элементу, он снимался с другого, как это сделать?
choiseCross(event) {
    event.target.classList.add('clicked');
}


render() {
    return (
         <div className="choise clicked" onClick={this.choiseCross}>X</div>
         <div className="choise" onClick={this.choiseCross}>O</div>
    );
}
  • Вопрос задан
  • 1339 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@dimuska139
Backend developer
Ты пытаешься использовать немного не тот подход. Тебе надо не убирать класс, а как раз его рендерить только для активного элемента. То есть при срабатывании onClick пиши в стейт некое значение, соответствующее твоему div-элементу. В сам метод render добавь при отрисовке каждого div условие с проверкой, равно ли его значение тому, что в стейте находится. Если да, то рендеришь класс clicked. Тебе для такой задачи пригдится библиотека classNames
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽