UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

31 lines (30 loc) 1.13 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import { useEffect, useState } from 'react'; import { isSSR } from '@atlaskit/editor-common/core-utils'; /** * ExcludeFromHydration component delays rendering of its children until after the initial * hydration phase. It renders the fallback during SSR/hydration and children after. * @param children - The content to render after hydration * @param fallback - Optional fallback content to render during hydration (e.g., a placeholder to prevent layout shift) * @returns */ function ExcludeFromHydration(_ref) { var children = _ref.children, _ref$fallback = _ref.fallback, fallback = _ref$fallback === void 0 ? null : _ref$fallback; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), shouldRender = _useState2[0], setShouldRender = _useState2[1]; useEffect(function () { if (isSSR()) { return; } setShouldRender(true); }, []); if (!shouldRender) { return fallback !== null && fallback !== void 0 ? fallback : null; } return children; } export default ExcludeFromHydration;