UNPKG

@taro-hooks/ahooks

Version:
26 lines (25 loc) 721 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@taro-hooks/core"); var shared_1 = require("@taro-hooks/shared"); var utils_1 = require("../utils"); function useCreation(factory, deps) { var creation = (0, core_1.useRef)({ deps: deps, obj: undefined, initialized: false }, // @ts-ignore true); if ((0, shared_1.escapeState)(creation.current).initialized === false || !(0, utils_1.depsAreSame)((0, shared_1.escapeState)(creation.current).deps, deps)) { creation.current = { deps: deps, obj: factory(), initialized: true }; } return (0, shared_1.escapeState)(creation.current).obj; } exports["default"] = useCreation;