UNPKG

ahooks-v2

Version:
35 lines (26 loc) 673 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); function useCreation(factory, deps) { var current = react_1.useRef({ deps: deps, obj: undefined, initialized: false }).current; if (current.initialized === false || !depsAreSame(current.deps, deps)) { current.deps = deps; current.obj = factory(); current.initialized = true; } return current.obj; } exports["default"] = useCreation; function depsAreSame(oldDeps, deps) { if (oldDeps === deps) return true; for (var i = 0; i < oldDeps.length; i++) { if (oldDeps[i] !== deps[i]) return false; } return true; }