Tôi cố gắng để truy cập vào trạng thái của một thành phần bên trong một setInterval
theo cách này nhưng nó không làm việc:Issue truy cập vào trạng thái bên trong setInterval trong React.js
componentDidMount: function() {
setInterval(function() {
console.log(this.state);
}, 3000);
}
Tuy nhiên, nếu tôi đặt chức năng gọi lại trong một phương pháp thành phần riêng biệt, nó hoạt động hoàn hảo:
displayState: function() {
console.log(this.state)
}
componentDidMount: function() {
setInterval(this.displayState(), 3000);
}
Bất kỳ ý tưởng nào về việc này xảy ra? Tôi muốn sử dụng tùy chọn đầu tiên.
Phiên bản thứ hai làm việc vì Phản ứng [ "tự động với phím tắt"] (https : //facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html) phương pháp về các thành phần. Để làm cho phiên bản đầu tiên hoạt động, 'bind' hàm như được ghi trong một trong các câu trả lời. –
bạn không thể gọi hàm khi truyền đến setInterval, nó chỉ kích hoạt nó một lần ngay lập tức và khoảng thời gian đó không làm bất cứ điều gì. làm thế nào nó hoạt động hoàn hảo tôi không 'nhận được. – dandavis