Fix setState() usage in the constructor of RoomDirectory

React doesn't like it when we setState() in the constructor
This commit is contained in:
Travis Ralston 2020-09-16 15:05:14 -06:00
parent 4db9ac16b5
commit 815a1559ff

View file

@ -70,10 +70,10 @@ export default class RoomDirectory extends React.Component {
this.scrollPanel = null; this.scrollPanel = null;
this.protocols = null; this.protocols = null;
this.setState({protocolsLoading: true}); this.state.protocolsLoading = true;
if (!MatrixClientPeg.get()) { if (!MatrixClientPeg.get()) {
// We may not have a client yet when invoked from welcome page // We may not have a client yet when invoked from welcome page
this.setState({protocolsLoading: false}); this.state.protocolsLoading = false;
return; return;
} }
@ -102,14 +102,16 @@ export default class RoomDirectory extends React.Component {
}); });
} else { } else {
// We don't use the protocols in the communities v2 prototype experience // We don't use the protocols in the communities v2 prototype experience
this.setState({protocolsLoading: false}); this.state.protocolsLoading = false;
// Grab the profile info async // Grab the profile info async
FlairStore.getGroupProfileCached(MatrixClientPeg.get(), this.state.selectedCommunityId).then(profile => { FlairStore.getGroupProfileCached(MatrixClientPeg.get(), this.state.selectedCommunityId).then(profile => {
this.setState({communityName: profile.name}); this.setState({communityName: profile.name});
}); });
} }
}
componentDidMount() {
this.refreshRoomList(); this.refreshRoomList();
} }