ahooks
Version:
react hooks library
22 lines (21 loc) • 660 B
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useCreation;
var _react = require("react");
var _depsAreSame = _interopRequireDefault(require("../utils/depsAreSame"));
function useCreation(factory, deps) {
var current = (0, _react.useRef)({
deps: deps,
obj: undefined,
initialized: false
}).current;
if (current.initialized === false || !(0, _depsAreSame["default"])(current.deps, deps)) {
current.deps = deps;
current.obj = factory();
current.initialized = true;
}
return current.obj;
}
;