rc-hooks
Version:
React Hooks Library.
21 lines (20 loc) • 658 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
var useLatest_1 = tslib_1.__importDefault(require("../useLatest"));
/**
* 只在组件 `unmount` 时执行的 Hook。
*
* @param fn 组件 `unmount` 时执行的函数。
* @example
* useUnmount(() => {
* console.log('unmount');
* });
*/
var useUnmount = function (fn) {
var fnRef = (0, useLatest_1.default)(fn);
// eslint-disable-next-line react-hooks/exhaustive-deps
(0, react_1.useEffect)(function () { return function () { return fnRef.current(); }; }, []);
};
exports.default = useUnmount;
;