@livelybone/use-mounted
Version:
React hook for mounted and unmount, return an object: MutableRefObject<{ mounted: boolean, unmounted: boolean }>
31 lines (27 loc) • 670 B
JavaScript
/**
* Bundle of @livelybone/use-mounted
* Generated: 2020-07-15
* Version: 1.0.5
* License: MIT
* Author: 2631541504@qq.com
*/
import { useRef, useEffect } from 'react';
function useMounted(mountedFn) {
var fn = useRef(mountedFn);
fn.current = mountedFn;
var state = useRef({
mounted: false,
unmounted: false
});
useEffect(function () {
state.current.mounted = true;
state.current.unmounted = false;
var unmountedFn = fn.current && fn.current();
return function () {
if (typeof unmountedFn === 'function') unmountedFn();
state.current.unmounted = true;
};
}, []);
return state;
}
export default useMounted;