chore(examples): useCallback for useOnViewport handlers

This commit is contained in:
moklick
2022-08-16 15:49:45 +02:00
parent fc69860b9d
commit 87a9abfc6f
4 changed files with 12 additions and 6 deletions
@@ -1,5 +1,5 @@
import React, { memo, FC, CSSProperties } from 'react'; import React, { memo, FC, CSSProperties, useCallback } from 'react';
import { Handle, Position, NodeProps, Connection, Edge, useOnViewportChange } from '@react-flow/bundle'; import { Handle, Position, NodeProps, Connection, Edge, useOnViewportChange, Viewport } from '@react-flow/bundle';
const targetHandleStyle: CSSProperties = { background: '#555' }; const targetHandleStyle: CSSProperties = { background: '#555' };
const sourceHandleStyleA: CSSProperties = { ...targetHandleStyle, top: 10 }; const sourceHandleStyleA: CSSProperties = { ...targetHandleStyle, top: 10 };
@@ -12,10 +12,14 @@ const sourceHandleStyleB: CSSProperties = {
const onConnect = (params: Connection | Edge) => console.log('handle onConnect', params); const onConnect = (params: Connection | Edge) => console.log('handle onConnect', params);
const ColorSelectorNode: FC<NodeProps> = ({ data, isConnectable }) => { const ColorSelectorNode: FC<NodeProps> = ({ data, isConnectable }) => {
const onStart = useCallback((viewport: Viewport) => console.log('onStart', viewport), []);
const onChange = useCallback((viewport: Viewport) => console.log('onChange', viewport), []);
const onEnd = useCallback((viewport: Viewport) => console.log('onEnd', viewport), []);
useOnViewportChange({ useOnViewportChange({
onStart: (viewport) => console.log('start', viewport), onStart,
onChange: (viewport) => console.log('change', viewport), onChange,
onEnd: (viewport) => console.log('end', viewport), onEnd,
}); });
return ( return (
+1 -1
View File
@@ -52,4 +52,4 @@
"packages/*" "packages/*"
] ]
} }
} }
@@ -17,6 +17,7 @@ function useOnViewportChange({ onStart, onChange, onEnd }: UseOnViewportChangeOp
}, [onStart]); }, [onStart]);
useEffect(() => { useEffect(() => {
console.log('change onchange');
store.setState({ onViewportChange: onChange }); store.setState({ onViewportChange: onChange });
}, [onChange]); }, [onChange]);
+1
View File
@@ -44,6 +44,7 @@
.react-flow__connection-path { .react-flow__connection-path {
stroke: #b1b1b7; stroke: #b1b1b7;
stroke-width: 1; stroke-width: 1;
fill: none;
} }
.react-flow__edge { .react-flow__edge {