Задать вопрос
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>
    );
}
  • Вопрос задан
  • 1343 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Eduson
    React-разработчик
    2 месяца
    Далее
  • Skypro
    React-разработчик с нуля
    9 месяцев
    Далее
Решения вопроса 1
@dimuska139
Backend developer
Ты пытаешься использовать немного не тот подход. Тебе надо не убирать класс, а как раз его рендерить только для активного элемента. То есть при срабатывании onClick пиши в стейт некое значение, соответствующее твоему div-элементу. В сам метод render добавь при отрисовке каждого div условие с проверкой, равно ли его значение тому, что в стейте находится. Если да, то рендеришь класс clicked. Тебе для такой задачи пригдится библиотека classNames
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 250 000 до 300 000 ₽
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽