summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@mullvad.net>2018-10-05 16:15:57 +0200
committerAndrej Mihajlov <and@mullvad.net>2018-10-08 13:00:17 +0200
commitd7d6f62aa251725d3fc343dbcea049a793347053 (patch)
treef300838090fcd1721a02a12351746b06258cbac4
parent3670e279f4f7cdde04b358d7835801a2638d1d29 (diff)
downloadmullvadvpn-d7d6f62aa251725d3fc343dbcea049a793347053.tar.xz
mullvadvpn-d7d6f62aa251725d3fc343dbcea049a793347053.zip
Optimize scrollbars to render only on props/state changes
-rw-r--r--gui/packages/desktop/src/renderer/components/CustomScrollbars.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/gui/packages/desktop/src/renderer/components/CustomScrollbars.js b/gui/packages/desktop/src/renderer/components/CustomScrollbars.js
index 00cad9bc5c..c6e5c09afe 100644
--- a/gui/packages/desktop/src/renderer/components/CustomScrollbars.js
+++ b/gui/packages/desktop/src/renderer/components/CustomScrollbars.js
@@ -92,6 +92,24 @@ export default class CustomScrollbars extends React.Component<Props, State> {
}
}
+ shouldComponentUpdate(nextProps: Props, nextState: State) {
+ const prevProps = this.props;
+ const prevState = this.state;
+
+ return (
+ prevProps.children !== nextProps.children ||
+ prevProps.autoHide !== nextProps.autoHide ||
+ prevProps.trackPadding.x !== nextProps.trackPadding.x ||
+ prevProps.trackPadding.y !== nextProps.trackPadding.y ||
+ prevState.canScroll !== nextState.canScroll ||
+ prevState.showScrollIndicators !== nextState.showScrollIndicators ||
+ prevState.showTrack !== nextState.showTrack ||
+ prevState.isTrackHovered !== nextState.isTrackHovered ||
+ prevState.isDragging !== nextState.isDragging ||
+ prevState.isWide !== nextState.isWide
+ );
+ }
+
componentWillUnmount() {
this._stopAutoHide();