Placed event listeners on higher level components to avoid app dispatcher vomit

Этот коммит содержится в:
nickago
2015-07-09 14:11:38 -07:00
родитель 04b80b6a25
Коммит 702112dfb3
3 изменённых файлов: 9 добавлений и 9 удалений

Просмотреть файл

@@ -5,15 +5,6 @@ var UserStore = require('../stores/user_store.jsx');
var utils = require('../utils/utils.jsx');
module.exports = React.createClass({
componentDidMount: function() {
UserStore.addStatusesChangeListener(this._onChange);
},
componentWillUnmount: function() {
UserStore.removeStatusesChangeListener(this._onChange);
},
_onChange: function() {
this.forceUpdate();
},
getInitialState: function() {
return { };
},

Просмотреть файл

@@ -78,6 +78,7 @@ module.exports = React.createClass({
PostStore.addChangeListener(this._onChange);
ChannelStore.addChangeListener(this._onChange);
UserStore.addStatusesChangeListener(this._onChange);
SocketStore.addChangeListener(this._onSocketChange);
$(".post-list-holder-by-time").perfectScrollbar();
@@ -157,6 +158,7 @@ module.exports = React.createClass({
componentWillUnmount: function() {
PostStore.removeChangeListener(this._onChange);
ChannelStore.removeChangeListener(this._onChange);
UserStore.removeStatusesChangeListener(this._onChange);
SocketStore.removeChangeListener(this._onSocketChange);
$('body').off('click.userpopover');
},
@@ -193,6 +195,8 @@ module.exports = React.createClass({
this.scrolledToNew = false;
}
this.setState(newState);
} else {
this.forceUpdate()
}
},
_onSocketChange: function(msg) {

Просмотреть файл

@@ -16,10 +16,15 @@ module.exports = React.createClass({
componentDidMount: function() {
PostStore.addSearchChangeListener(this._onSearchChange);
PostStore.addSelectedPostChangeListener(this._onSelectedChange);
UserStore.addStatusesChangeListener(this._onChange);
},
componentWillUnmount: function() {
PostStore.removeSearchChangeListener(this._onSearchChange);
PostStore.removeSelectedPostChangeListener(this._onSelectedChange);
UserStore.removeStatusesChangeListener(this._onChange);
},
_onChange: function() {
this.forceUpdate();
},
_onSelectedChange: function(from_search) {
if (this.isMounted()) {