UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

33 lines (32 loc) 1.18 kB
import { Await } from "../awaited.js"; import { RouterProvider } from "../RouterProvider.js"; import { HeadContent } from "../HeadContent.js"; import { createComponent, memo } from "solid-js/web"; import { hydrate } from "@tanstack/router-core/ssr/client"; //#region src/ssr/RouterClient.tsx var hydrationPromise; var Dummy = (props) => memo(() => props.children); function RouterClient(props) { if (!hydrationPromise) if (!props.router.state.matches.length) hydrationPromise = hydrate(props.router); else hydrationPromise = Promise.resolve(); return createComponent(Await, { promise: hydrationPromise, children: () => createComponent(Dummy, { get children() { return createComponent(Dummy, { get children() { return createComponent(RouterProvider, { get router() { return props.router; }, InnerWrap: (props) => createComponent(Dummy, { get children() { return [createComponent(Dummy, { get children() { return [createComponent(HeadContent, {}), memo(() => props.children)]; } }), createComponent(Dummy, {})]; } }) }); } }); } }) }); } //#endregion export { RouterClient }; //# sourceMappingURL=RouterClient.js.map