@react-hookz/web
Version:
React hooks done right, for browser and SSR.
20 lines (19 loc) • 625 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useUnmountEffect = void 0;
var react_1 = require("react");
var useSyncedRef_1 = require("../useSyncedRef/useSyncedRef");
/**
* Run effect only when component is unmounted.
*
* @param effect Effector to run on unmount
*/
function useUnmountEffect(effect) {
var effectRef = (0, useSyncedRef_1.useSyncedRef)(effect);
(0, react_1.useEffect)(function () { return function () {
effectRef.current();
}; },
// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
}
exports.useUnmountEffect = useUnmountEffect;