Trong react.js, tốt hơn là lưu trữ tham chiếu thời gian chờ dưới dạng biến mẫu (this.timeout) hoặc biến trạng thái (this.state.timeout)?Biến trạng thái v thể hiện trong react.js
React.createClass({
handleEnter: function() {
// Open a new one after a delay
var self = this;
this.timeout = setTimeout(function() {
self.openWidget();
}, DELAY);
},
handleLeave: function() {
// Clear the timeout for opening the widget
clearTimeout(this.timeout);
}
...
})
hoặc
React.createClass({
handleEnter: function() {
// Open a new one after a delay
var self = this;
this.state.timeout = setTimeout(function() {
self.openWidget();
}, DELAY);
},
handleLeave: function() {
// Clear the timeout for opening the widget
clearTimeout(this.state.timeout);
}
...
})
cả hai phương pháp làm việc. Tôi chỉ muốn biết lý do sử dụng cái kia.
Từ [tài liệu] (http://facebook.github.io/react/docs/component-api.html): * "** KHÔNG BAO GIỜ ** thay đổi' this.state' trực tiếp, như gọi 'setState()' sau đó có thể thay thế đột biến bạn đã thực hiện. Hãy xử lý 'this.state' như thể nó không thay đổi." * –
Mẹo: Sử dụng tính năng tự động của React: 'this.timeout = setTimeout (this.openWidget, DELAY); ' – David
DELAY nên được đặt thành gì? – justingordon