@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
29 lines • 1.01 kB
JSX
import * as Solid from 'solid-js';
import { routerContext } from './routerContext';
import { SafeFragment } from './SafeFragment';
import { Matches } from './Matches';
const RouterContext = routerContext;
export function RouterContextProvider({ router, children, ...rest }) {
if (Object.keys(rest).length > 0) {
Solid.runWithOwner(null, () => {
router.update({
...router.options,
...rest,
context: {
...router.options.context,
...rest.context,
},
});
});
}
const OptionalWrapper = router.options.Wrap || SafeFragment;
return (<OptionalWrapper>
<RouterContext value={router}>{children()}</RouterContext>
</OptionalWrapper>);
}
export function RouterProvider({ router, ...rest }) {
return (<RouterContextProvider router={router} {...rest}>
{() => <Matches />}
</RouterContextProvider>);
}
//# sourceMappingURL=RouterProvider.jsx.map