UNPKG

@wordpress/components

Version:
37 lines (35 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); /** * WordPress dependencies */ /** * A `React.useEffect` that will not run on the first render. * Source: * https://github.com/ariakit/ariakit/blob/main/packages/ariakit-react-core/src/utils/hooks.ts * * @param {import('react').EffectCallback} effect * @param {import('react').DependencyList} deps */ function useUpdateEffect(effect, deps) { const mountedRef = (0, _element.useRef)(false); (0, _element.useEffect)(() => { if (mountedRef.current) { return effect(); } mountedRef.current = true; return undefined; // 1. This hook needs to pass a dep list that isn't an array literal // 2. `effect` is missing from the array, and will need to be added carefully to avoid additional warnings // see https://github.com/WordPress/gutenberg/pull/41166 }, deps); (0, _element.useEffect)(() => () => { mountedRef.current = false; }, []); } var _default = exports.default = useUpdateEffect; //# sourceMappingURL=use-update-effect.js.map