UNPKG

use-constructor

Version:

react hook that behaves like a class constructor for functional components

18 lines (14 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useConstructor; var _react = require("react"); function useConstructor(constructor) { const isConstructorCalled = (0, _react.useRef)(false); if (!isConstructorCalled.current) { constructor(); isConstructorCalled.current = true; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6WyJ1c2VDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yIiwiaXNDb25zdHJ1Y3RvckNhbGxlZCIsImN1cnJlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFJZSxTQUFTQSxjQUFULENBQXdCQyxXQUF4QixFQUFrRDtBQUMvRCxRQUFNQyxtQkFBbUIsR0FBRyxtQkFBTyxLQUFQLENBQTVCOztBQUNBLE1BQUksQ0FBQ0EsbUJBQW1CLENBQUNDLE9BQXpCLEVBQWtDO0FBQ2hDRixJQUFBQSxXQUFXO0FBQ1hDLElBQUFBLG1CQUFtQixDQUFDQyxPQUFwQixHQUE4QixJQUE5QjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCB0eXBlIENvbnN0cnVjdG9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3Rvcikge1xuICBjb25zdCBpc0NvbnN0cnVjdG9yQ2FsbGVkID0gdXNlUmVmKGZhbHNlKTtcbiAgaWYgKCFpc0NvbnN0cnVjdG9yQ2FsbGVkLmN1cnJlbnQpIHtcbiAgICBjb25zdHJ1Y3RvcigpO1xuICAgIGlzQ29uc3RydWN0b3JDYWxsZWQuY3VycmVudCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==