mirror of https://github.com/vector-im/riot-web
Only re-render LoggedInView if MatrixClientPeg.get() is truthy
parent
d83f18ab46
commit
d0e270bd1c
|
@ -24,6 +24,7 @@ import PageTypes from '../../PageTypes';
|
||||||
import sdk from '../../index';
|
import sdk from '../../index';
|
||||||
import dis from '../../dispatcher';
|
import dis from '../../dispatcher';
|
||||||
import sessionStore from '../../stores/SessionStore';
|
import sessionStore from '../../stores/SessionStore';
|
||||||
|
import MatrixClientPeg from '../../MatrixClientPeg';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is what our MatrixChat shows when we are logged in. The precise view is
|
* This is what our MatrixChat shows when we are logged in. The precise view is
|
||||||
|
@ -91,6 +92,16 @@ export default React.createClass({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Child components assume that the client peg will not be null, so give them some
|
||||||
|
// sort of assurance here by only allowing a re-render if the client is truthy.
|
||||||
|
//
|
||||||
|
// This is required because `LoggedInView` maintains its own state and if this state
|
||||||
|
// updates after the client peg has been made null (during logout), then it will
|
||||||
|
// attempt to re-render and the children will throw errors.
|
||||||
|
shouldComponentUpdate: function() {
|
||||||
|
return Boolean(MatrixClientPeg.get());
|
||||||
|
},
|
||||||
|
|
||||||
getScrollStateForRoom: function(roomId) {
|
getScrollStateForRoom: function(roomId) {
|
||||||
return this._scrollStateMap[roomId];
|
return this._scrollStateMap[roomId];
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue