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

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

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

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

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


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


Как исправить ошибку?
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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