react.jsでは、タイムアウト参照をインスタンス変数(this.timeout)または状態変数(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);
}
...
})
または
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);
}
...
})
これらのアプローチはどちらも機能します。どちらか一方を使用する理由を知りたいだけです。
ヒント:Reactの自動バインディングを使用します。–
—
David Hellsing
this.timeout = setTimeout(this.openWidget, DELAY);
DELAYは何に設定する必要がありますか?
—
justingordon 2014
this.state
呼び出すよう、直接setState()
その後はあなたが作った突然変異を置き換えることが御馳走を。this.state
それは不変であるかのように。」