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

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

Похожие вопросы
08 янв. 2025, в 18:46
200000 руб./за проект
08 янв. 2025, в 17:52
5000 руб./за проект
08 янв. 2025, в 17:30
2650 руб./за проект