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

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

Похожие вопросы