@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
38 lines • 1.2 kB
JSX
import { Hydration, HydrationScript, NoHydration, ssr, useAssets, } from 'solid-js/web';
import { MetaProvider } from '@solidjs/meta';
import { Asset } from '../Asset';
import { useTags } from '../headContentUtils';
import { RouterProvider } from '../RouterProvider';
import { Scripts } from '../Scripts';
export function ServerHeadContent() {
const tags = useTags();
useAssets(() => {
return (<MetaProvider>
{tags().map((tag) => (<Asset {...tag}/>))}
</MetaProvider>);
});
return null;
}
const docType = ssr('<!DOCTYPE html>');
export function RouterServer(props) {
return (<NoHydration>
{docType}
<html>
<head>
<HydrationScript />
</head>
<body>
<Hydration>
<RouterProvider router={props.router} InnerWrap={(props) => (<NoHydration>
<MetaProvider>
<ServerHeadContent />
<Hydration>{props.children}</Hydration>
<Scripts />
</MetaProvider>
</NoHydration>)}/>
</Hydration>
</body>
</html>
</NoHydration>);
}
//# sourceMappingURL=RouterServer.jsx.map