Comparing version
@@ -36,3 +36,2 @@ import _objectDestructuringEmpty from "@babel/runtime/helpers/esm/objectDestructuringEmpty"; | ||
if (motionNodes) { | ||
onOriginMotionStart(); | ||
if (targetVisible !== visible) { | ||
@@ -43,2 +42,7 @@ setVisible(targetVisible); | ||
}, [motionNodes]); | ||
var triggerMotionStart = function triggerMotionStart() { | ||
if (motionNodes) { | ||
onOriginMotionStart(); | ||
} | ||
}; | ||
// Should only trigger once | ||
@@ -53,3 +57,3 @@ var triggerMotionEndRef = React.useRef(false); | ||
// Effect if unmount | ||
useUnmount(triggerMotionEnd); | ||
useUnmount(triggerMotionStart, triggerMotionEnd); | ||
// Motion end event | ||
@@ -56,0 +60,0 @@ var onVisibleChanged = function onVisibleChanged(nextVisible) { |
/** | ||
* Trigger only when component unmount | ||
*/ | ||
export default function useUnmount(callback: VoidFunction): void; | ||
export default function useUnmount(triggerStart: VoidFunction, triggerEnd: VoidFunction): void; |
@@ -6,17 +6,21 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; | ||
*/ | ||
export default function useUnmount(callback) { | ||
export default function useUnmount(triggerStart, triggerEnd) { | ||
var _React$useState = React.useState(false), | ||
_React$useState2 = _slicedToArray(_React$useState, 2), | ||
enabled = _React$useState2[0], | ||
setEnabled = _React$useState2[1]; | ||
firstMount = _React$useState2[0], | ||
setFirstMount = _React$useState2[1]; | ||
React.useLayoutEffect(function () { | ||
if (firstMount) { | ||
triggerStart(); | ||
return function () { | ||
triggerEnd(); | ||
}; | ||
} | ||
}, [firstMount]); | ||
React.useLayoutEffect(function () { | ||
setFirstMount(true); | ||
return function () { | ||
if (enabled) { | ||
callback(); | ||
} | ||
setFirstMount(false); | ||
}; | ||
}, [enabled]); | ||
React.useLayoutEffect(function () { | ||
setEnabled(true); | ||
}, []); | ||
} |
@@ -46,3 +46,2 @@ "use strict"; | ||
if (motionNodes) { | ||
onOriginMotionStart(); | ||
if (targetVisible !== visible) { | ||
@@ -53,2 +52,7 @@ setVisible(targetVisible); | ||
}, [motionNodes]); | ||
var triggerMotionStart = function triggerMotionStart() { | ||
if (motionNodes) { | ||
onOriginMotionStart(); | ||
} | ||
}; | ||
// Should only trigger once | ||
@@ -63,3 +67,3 @@ var triggerMotionEndRef = React.useRef(false); | ||
// Effect if unmount | ||
(0, _useUnmount.default)(triggerMotionEnd); | ||
(0, _useUnmount.default)(triggerMotionStart, triggerMotionEnd); | ||
// Motion end event | ||
@@ -66,0 +70,0 @@ var onVisibleChanged = function onVisibleChanged(nextVisible) { |
/** | ||
* Trigger only when component unmount | ||
*/ | ||
export default function useUnmount(callback: VoidFunction): void; | ||
export default function useUnmount(triggerStart: VoidFunction, triggerEnd: VoidFunction): void; |
@@ -16,17 +16,21 @@ "use strict"; | ||
*/ | ||
function useUnmount(callback) { | ||
function useUnmount(triggerStart, triggerEnd) { | ||
var _React$useState = React.useState(false), | ||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), | ||
enabled = _React$useState2[0], | ||
setEnabled = _React$useState2[1]; | ||
firstMount = _React$useState2[0], | ||
setFirstMount = _React$useState2[1]; | ||
React.useLayoutEffect(function () { | ||
if (firstMount) { | ||
triggerStart(); | ||
return function () { | ||
triggerEnd(); | ||
}; | ||
} | ||
}, [firstMount]); | ||
React.useLayoutEffect(function () { | ||
setFirstMount(true); | ||
return function () { | ||
if (enabled) { | ||
callback(); | ||
} | ||
setFirstMount(false); | ||
}; | ||
}, [enabled]); | ||
React.useLayoutEffect(function () { | ||
setEnabled(true); | ||
}, []); | ||
} |
{ | ||
"name": "rc-tree", | ||
"version": "5.7.6", | ||
"version": "5.7.8", | ||
"description": "tree ui component for react", | ||
@@ -5,0 +5,0 @@ "engines": { |
365081
0.14%7726
0.21%