Di react.js, apakah lebih baik menyimpan referensi batas waktu sebagai variabel instan (this.timeout) atau variabel status (this.state.timeout)?
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);
}
...
})
atau
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);
}
...
})
kedua pendekatan ini berhasil. Saya hanya ingin mengetahui alasan penggunaan salah satu alasan tersebut.
this.timeout = setTimeout(this.openWidget, DELAY);
this.state
secara langsung, karena meneleponsetState()
setelahnya dapat menggantikan mutasi yang Anda buat. Perlakukanthis.state
seolah-olah mutasi itu tidak berubah."