浏览代码

Forgot to include some dependencies of React's useCallback in Rountangle Editor

Joeri Exelmans 2 年之前
父节点
当前提交
65d4d81e6b

+ 1 - 2
src/frontend/d3graph/d3graph_editable.tsx

@@ -19,7 +19,6 @@ export interface D3GraphEditableProps {
 
 export function D3GraphEditable(props: D3GraphEditableProps) {
   const [mouseDownNode, setMouseDownNode] = React.useState<D3OnionNodeData | null>(null);
-  // const [showCrossHair, setShowCrossHair] = React.useState<bool>(false);
   const onionContext = React.useContext<OnionContextType>(OnionContext);
 
   const mouseDownHandler = React.useCallback((event, {x,y}, mouseDownNode: D3OnionNodeData | undefined) => {
@@ -90,7 +89,7 @@ export function D3GraphEditable(props: D3GraphEditableProps) {
       props.onUserEdit?.(deltas, description);
     }
     setMouseDownNode(null);
-  }, [mouseDownNode, onionContext]);
+  }, [mouseDownNode, onionContext, props.onUserEdit]);
 
   return <D3Graph
     graph={props.graph}

+ 0 - 2
src/frontend/demos/demo_corr.tsx

@@ -116,8 +116,6 @@ export function getDemoCorr() {
     const cs = newVersionedModel({readonly: false});
     const corr = newCorrespondence({cs, as});
 
-    // const {getModalManualRenderer} = newManualRenderer();
-
     // returns functional react component
     return function () {
         const [asState, setAsState] = React.useState<VersionedModelState>(as.initialState);

+ 2 - 2
src/frontend/rountangleEditor/RountangleEditor.tsx

@@ -128,7 +128,7 @@ export function RountangleEditor(props: RountangleEditorProps) {
         if (deltas.length > 0) {
             props.onUserEdit?.(deltas, action.tag);
         }
-    }, []);
+    }, [props.onUserEdit]);
 
     const onPointerDown = React.useCallback((event: React.PointerEvent<SVGSVGElement>) => {
         event.stopPropagation();
@@ -205,7 +205,7 @@ export function RountangleEditor(props: RountangleEditorProps) {
                 });
             }
         }
-    }, []);
+    }, [dispatch]);
 
     const onWheel = React.useCallback((event: WheelEvent) => {
         event.preventDefault();