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 2014 년
this.timeout = setTimeout(this.openWidget, DELAY);
DELAY는 무엇으로 설정해야합니까?
—
justingordon
this.state
직접 전화로setState()
돌연변이를 대체 할 수 나중에 당신이 만든 취급합니다.this.state
이 불변 인 것처럼."