From 165c8a94623c34c29472e11b6a0f7de8552f2629 Mon Sep 17 00:00:00 2001 From: Ryan Di Date: Fri, 23 Aug 2024 20:16:39 +0800 Subject: [PATCH] replace set state with trigger update for multipoint lines --- packages/excalidraw/components/App.tsx | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 56efc190086c..8de52e478c74 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -5589,10 +5589,6 @@ class App extends React.Component { }, false, ); - this.setState({ - multiElement, - newElement: multiElement, - }); } else { setCursor(this.interactiveCanvas, CURSOR_TYPE.POINTER); // in this branch, we're inside the commit zone, and no uncommitted @@ -5616,10 +5612,6 @@ class App extends React.Component { }, false, ); - this.setState({ - multiElement, - newElement: multiElement, - }); } else { const [gridX, gridY] = getGridPoint( scenePointerX, @@ -5684,10 +5676,11 @@ class App extends React.Component { false, ); } - this.setState({ - multiElement, - newElement: multiElement, - }); + + // in this path, we're mutating multiElement to reflect + // how it will be after adding pointer position as the next point + // trigger update here so that new element canvas renders again to reflect this + this.scene.triggerUpdate(false); } return;