Задать вопрос
@georgedubinsky8888

Как исправить ошибку?

Есть вот такая часть кода:
componentDidMount(){
    setTimeout(() => this.setState({text:true}),2000);
}

И в таком случае все работает. Но нужно было переписать с стрелочной функции в обычную. Я написал код так:

componentDidMount(){
    setTimeout(function(){return( this.setState({text:true}))}, 2000);
}


И у меня ошибка:
TypeError: this.setState is not a function


Как исправить ошибку?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@NiyazNA
componentDidMount(){
    setTimeout((function(){return( this.setState({text:true}))}).bind(this), 2000);
}

https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
kgb_zor
@kgb_zor
I need your traceback.
componentDidMount(){
    component_did_mount = this;
    setTimeout(function(){return(component_did_mount.setState({text:true}))}, 2000);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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