UNPKG

@yandex/ui

Version:

Yandex UI components

27 lines (26 loc) 827 B
import React, { createContext, useContext, useMemo } from 'react'; /** * @internal */ export var initialContextValue = { value: 0, id: 0 }; export var SSRContext = createContext(initialContextValue); /** * Реакт-провайдер синхронизирующий данные верстки при гидратации приложения. * * @example * const Root = () => ( * <SSRProvider> * <App /> * </SSRProvider> * ) */ export var SSRProvider = function (_a) { var children = _a.children; var context = useContext(SSRContext); // prettier-ignore var value = useMemo(function () { return ({ value: 0, id: context === initialContextValue ? 0 : ++context.id, }); }, [context]); return React.createElement(SSRContext.Provider, { value: value }, children); };