Я пытаюсь получить доступ к состоянию компоненты внутри setInterval
таким образом, но это не работает:Проблемы доступ состояния внутри setInterval в React.js
componentDidMount: function() {
setInterval(function() {
console.log(this.state);
}, 3000);
}
Однако, если поместить функцию обратного вызова в отдельный компонент, он отлично работает:
displayState: function() {
console.log(this.state)
}
componentDidMount: function() {
setInterval(this.displayState(), 3000);
}
Любая идея, почему это происходит? Я бы предпочел использовать первый вариант.
Вторая версия работает, потому что React [ "авто-зываетс"] (HTTPS : //facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html) методы на компонентах. Чтобы первая работа работала, «свяжите» функцию, как указано в одном из ответов. –
вы не можете вызвать функцию при переходе на setInterval, которая сразу же запускает ее один раз, а интервал ничего не делает. как это работает отлично, я не получаю. – dandavis