From 04b1678c7f07d39c58685a14907a724eaad5714d Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Wed, 14 Mar 2018 15:06:13 +0000 Subject: [PATCH] Implement a simple shouldComponentUpdate for DNDRoomTile because otherwise beautiful dnd spends a lot of time requesting animation frames pointlessly. --- src/components/views/rooms/DNDRoomTile.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/views/rooms/DNDRoomTile.js b/src/components/views/rooms/DNDRoomTile.js index b8f8b4026..ce867ef3d 100644 --- a/src/components/views/rooms/DNDRoomTile.js +++ b/src/components/views/rooms/DNDRoomTile.js @@ -33,6 +33,17 @@ export default class DNDRoomTile extends React.Component { }); } + shouldComponentUpdate(nextProps, nextState) { + // Do a shallow comparison of the props that we pass through (there is no + // state to check). + // NB: We might want to ignore changes to index in future if reordering + // occurs (all indices of all tiles in the sublist will change). + if (Object.keys(nextProps).some((k) => nextProps[k] !== this.props[k])) { + return true; + } + return false; + } + render() { const props = this.props;