@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
34 lines (33 loc) • 1.15 kB
JavaScript
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) {
hydrationPromise ??= hydrate(props.router).finally(() => window.$_TSR.h());
return createComponent(Await, {
get promise() {
return hydrationPromise.then(() => true);
},
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