diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 5ee02555b6..854aee296f 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -8816,6 +8816,8 @@ class App extends React.Component { pointerDownState.lastCoords.y = pointerCoords.y; pointerDownState.drag.hasOccurred = true; + // NOTE: Optimize setState calls because it + // affects history and performance if ( !isShallowEqual( newState.suggestedBindings ?? [], @@ -8828,7 +8830,9 @@ class App extends React.Component { newState.selectedLinearElement?.hoverPointIndex !== this.state.selectedLinearElement?.hoverPointIndex || newState.selectedLinearElement?.customLineAngle !== - this.state.selectedLinearElement?.customLineAngle + this.state.selectedLinearElement?.customLineAngle || + this.state.selectedLinearElement.isDragging !== + newState.selectedLinearElement?.isDragging ) { this.setState(newState); }