UNPKG

@yandex/ui

Version:

Yandex UI components

32 lines (31 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SSRProvider = exports.SSRContext = exports.initialContextValue = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); /** * @internal */ exports.initialContextValue = { value: 0, id: 0 }; exports.SSRContext = react_1.createContext(exports.initialContextValue); /** * Реакт-провайдер синхронизирующий данные верстки при гидратации приложения. * * @example * const Root = () => ( * <SSRProvider> * <App /> * </SSRProvider> * ) */ var SSRProvider = function (_a) { var children = _a.children; var context = react_1.useContext(exports.SSRContext); // prettier-ignore var value = react_1.useMemo(function () { return ({ value: 0, id: context === exports.initialContextValue ? 0 : ++context.id, }); }, [context]); return react_1.default.createElement(exports.SSRContext.Provider, { value: value }, children); }; exports.SSRProvider = SSRProvider;