diff --git a/src/Align.tsx b/src/Align.tsx index 31e0f62..40b8a0c 100644 --- a/src/Align.tsx +++ b/src/Align.tsx @@ -53,6 +53,10 @@ const Align: React.RefForwardingComponent = ( // ===================== Align ====================== const forceAlignRef = React.useRef(); + const [forceAlign, cancelForceAlign] = useBuffer(() => { + forceAlignRef.current(); + }, monitorBufferTime); + forceAlignRef.current = () => { if (!disabled && target) { const source = findDOMNode(nodeRef.current); @@ -79,13 +83,11 @@ const Align: React.RefForwardingComponent = ( if (onAlign) { onAlign(source, result); } + } else { + cancelForceAlign(); } }; - const [forceAlign, cancelForceAlign] = useBuffer(() => { - forceAlignRef.current(); - }, monitorBufferTime); - // ===================== Effect ===================== // Listen for target updated const resizeMonitor = React.useRef({