You've already forked matrix-react-sdk
mirror of
https://github.com/matrix-org/matrix-react-sdk.git
synced 2025-11-10 09:22:25 +03:00
Unmounted guard
This commit is contained in:
@@ -97,6 +97,8 @@ export default React.createClass({
|
|||||||
},
|
},
|
||||||
|
|
||||||
componentWillMount: function() {
|
componentWillMount: function() {
|
||||||
|
this._unmounted = false;
|
||||||
|
|
||||||
const roomMembers = this.props.room.getJoinedMembers().map((m) => {
|
const roomMembers = this.props.room.getJoinedMembers().map((m) => {
|
||||||
return m.userId;
|
return m.userId;
|
||||||
});
|
});
|
||||||
@@ -106,6 +108,8 @@ export default React.createClass({
|
|||||||
devices: null,
|
devices: null,
|
||||||
});
|
});
|
||||||
MatrixClientPeg.get().downloadKeys(roomMembers, false).then((devices) => {
|
MatrixClientPeg.get().downloadKeys(roomMembers, false).then((devices) => {
|
||||||
|
if (this._unmounted) return;
|
||||||
|
|
||||||
const unknownDevices = {};
|
const unknownDevices = {};
|
||||||
// This is all devices in this room, so find the unknown ones.
|
// This is all devices in this room, so find the unknown ones.
|
||||||
Object.keys(devices).forEach((userId) => {
|
Object.keys(devices).forEach((userId) => {
|
||||||
@@ -133,6 +137,10 @@ export default React.createClass({
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
componentWillUnmount: function() {
|
||||||
|
this._unmounted = true;
|
||||||
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
if (this.state.devices === null) {
|
if (this.state.devices === null) {
|
||||||
const Spinner = sdk.getComponent("elements.Spinner");
|
const Spinner = sdk.getComponent("elements.Spinner");
|
||||||
|
|||||||
Reference in New Issue
Block a user