UNPKG

@mitodl/course-search-utils

Version:

JS utils for interacting with MIT Open Course search

30 lines (29 loc) 1.07 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.useEffectAfterMount = void 0; var react_1 = require("react"); /** * Like `useEffect`, but only runs after component has rendered at least once. */ function useEffectAfterMount(fn, deps) { var _a = (0, react_1.useState)(false), hasRendered = _a[0], setHasRendered = _a[1]; (0, react_1.useEffect)(function () { if (hasRendered) { fn(); } else { setHasRendered(true); } // eslint-disable-next-line react-hooks/exhaustive-deps }, __spreadArray([hasRendered], deps, true)); } exports.useEffectAfterMount = useEffectAfterMount;