Fix performance issue
Summary: Fix performance issue in rendering sidebars Noticed during debugging that sidebars are continuously re-rendering if the mouse is on top of them, which is caused by the mouseMove handler of resizable containers always updating the state with a fresh object, causing a render (see yellow rectangles in test plan). Short circuited this by checking if the resize state should actually change and bailing out otherwise. Reviewed By: nikoant Differential Revision: D28441431 fbshipit-source-id: b3f125f3a392a5cf9b021a6636ba39b5a23d541c
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b947a65c51
commit
0227a7ab8a
@@ -626,6 +626,17 @@ export class Interactive extends React.Component<
|
|||||||
newCursor = 'row-resize';
|
newCursor = 'row-resize';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
this.state.resizingSides?.bottom === bottom &&
|
||||||
|
this.state.resizingSides?.left === left &&
|
||||||
|
this.state.resizingSides?.top === top &&
|
||||||
|
this.state.resizingSides?.right === right &&
|
||||||
|
this.state.cursor === newCursor &&
|
||||||
|
this.state.couldResize === Boolean(newCursor)
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const resizingSides = {
|
const resizingSides = {
|
||||||
bottom,
|
bottom,
|
||||||
left,
|
left,
|
||||||
|
|||||||
Reference in New Issue
Block a user