Switch rooms documentation and polishing

This commit is contained in:
Germain Souquet 2021-05-24 09:17:29 +01:00
parent c428736191
commit 4851e96297
3 changed files with 12 additions and 5 deletions

View file

@ -83,7 +83,7 @@ import { objectHasDiff } from "../../utils/objects";
import SpaceRoomView from "./SpaceRoomView";
import { IOpts } from "../../createRoom";
import {replaceableComponent} from "../../utils/replaceableComponent";
import _ from 'lodash';
import { omit } from 'lodash';
const DEBUG = false;
let debuglog = function(msg: string) {};
@ -532,14 +532,16 @@ export default class RoomView extends React.Component<IProps, IState> {
shouldComponentUpdate(nextProps, nextState) {
const hasPropsDiff = objectHasDiff(this.props, nextProps);
// React only shallow comparison and we only want to trigger
// a component re-render if a room requires an upgrade
const newUpgradeRecommendation = nextState.upgradeRecommendation || {}
const state = _.omit(this.state, ['upgradeRecommendation']);
const newState = _.omit(nextState, ['upgradeRecommendation'])
const state = omit(this.state, ['upgradeRecommendation']);
const newState = omit(nextState, ['upgradeRecommendation'])
const hasStateDiff =
objectHasDiff(state, newState) ||
(newUpgradeRecommendation && newUpgradeRecommendation.needsUpgrade === true)
(newUpgradeRecommendation.needsUpgrade === true)
return hasPropsDiff || hasStateDiff;
}