Do the faster length change check first
... because it's faster. Also we don't need to diff the array here.
This commit is contained in:
parent
fd15fc3984
commit
82f90c4734
1 changed files with 6 additions and 6 deletions
|
@ -47,7 +47,7 @@ import { Direction } from "re-resizable/lib/resizer";
|
|||
import { polyfillTouchEvent } from "../../../@types/polyfill";
|
||||
import { RoomNotificationStateStore } from "../../../stores/notifications/RoomNotificationStateStore";
|
||||
import RoomListLayoutStore from "../../../stores/room-list/RoomListLayoutStore";
|
||||
import { arrayHasDiff, arrayHasOrderChange } from "../../../utils/arrays";
|
||||
import { arrayHasOrderChange } from "../../../utils/arrays";
|
||||
import { objectExcluding, objectHasValueChange } from "../../../utils/objects";
|
||||
|
||||
const SHOW_N_BUTTON_HEIGHT = 28; // As defined by CSS
|
||||
|
@ -202,6 +202,11 @@ export default class RoomSublist extends React.Component<IProps, IState> {
|
|||
return true;
|
||||
}
|
||||
|
||||
// Quickly double check we're not about to break something due to the number of rooms changing.
|
||||
if (this.state.rooms.length !== nextState.rooms.length) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Finally, determine if the room update (as presumably that's all that's left) is within
|
||||
// our visible range. If it is, then do a render. If the update is outside our visible range
|
||||
// then we can skip the update.
|
||||
|
@ -215,11 +220,6 @@ export default class RoomSublist extends React.Component<IProps, IState> {
|
|||
return true;
|
||||
}
|
||||
|
||||
// Quickly double check we're not about to break something due to the number of rooms changing.
|
||||
if (arrayHasDiff(this.state.rooms, nextState.rooms)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Finally, nothing happened so no-op the update
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue