@TurnerIT

Добавить класс?

Добрый вечер.

я не могу добавить класс через реакт setState.
state = {
        done: false
    };
    onLabelClick = () => {
        this.setState({
            done: true
        });
    }
let classNames = "todo-list-item";
       if (done) {
        classNames += " done"
       }

А мой css выглядит вот так
.todo-list-item done {
 text-decoration: line-through;
}

По идее все с логикой верно должно быть, думаю ошибка в синтаксисе. Подскажите пожалуйста, где именно.
Благодарю за ответ)
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
pashted
@pashted
тыжпрограммист
.todo-list-item.done {
 text-decoration: line-through;
}


и еще есть смысл написать так:
state = {
        done: false,
    };
    
    onLabelClick = () => {
        this.setState({
            done: true
        });
    };

    render() {
        return (
            <div className={'todo-list-item' + (this.state.done ? ' done' : '')} onClick={this.onLabelClick}>text</div>
        );
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы