|
1 | | -import { hydrate } from '@vitejs/plugin-rsc/extra/browser' |
| 1 | +import "@vitejs/plugin-rsc/dist-DEF94lDJ"; |
| 2 | +import "@vitejs/plugin-rsc/browser-QWbIPyhO"; |
| 3 | +// @ts-ignore |
| 4 | +import { createFromFetch, createFromReadableStream } from "@vitejs/plugin-rsc/browser-D8OPzpF5"; |
| 5 | +import "@vitejs/plugin-rsc/browser-LizIyxet"; |
| 6 | +// @ts-ignore |
| 7 | +import { rscStream } from "@vitejs/plugin-rsc/client-edAdk2GF"; |
| 8 | +import React from "react"; |
| 9 | +import ReactDomClient from "react-dom/client"; |
| 10 | +import { jsx } from "react/jsx-runtime"; |
| 11 | +import { BundlerContext } from 'navigation-react'; |
2 | 12 |
|
3 | | -hydrate() |
| 13 | +//#region src/extra/browser.tsx |
| 14 | +async function hydrate() { |
| 15 | + const initialPayload = await createFromReadableStream(rscStream); |
| 16 | + function BrowserRoot() { |
| 17 | + const [payload, setPayload_] = React.useState(initialPayload); |
| 18 | + const bundler = React.useMemo(() => ({setRoot: setPayload_, deserialize: fetchRSC}), []); |
| 19 | + return jsx(BundlerContext.Provider, { value: bundler, children: payload.root }); |
| 20 | + } |
| 21 | + const browserRoot = /* @__PURE__ */ jsx(React.StrictMode, { children: /* @__PURE__ */ jsx(BrowserRoot, {}) }); |
| 22 | + ReactDomClient.hydrateRoot(document, browserRoot, { formState: initialPayload.formState }); |
| 23 | +} |
| 24 | +async function fetchRSC(request: any) { |
| 25 | + const payload = await createFromFetch(fetch(request)); |
| 26 | + return payload.root; |
| 27 | +} |
| 28 | +hydrate(); |
0 commit comments