File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3737 "typescript" : " ~5.9.3" ,
3838 "typescript-eslint" : " ^8.50.0" ,
3939 "vite" : " ^7.3.0" ,
40+ "vite-plugin-svgr" : " ^4.5.0" ,
4041 "vitest" : " ^4.0.15"
4142 }
4243}
Original file line number Diff line number Diff line change 1+ // src/app/providers/index.ts
2+ import { ComponentType } from 'react' ;
3+ import { withRouter } from './with-router' ;
4+
5+ type HOC = ( component : ComponentType < any > ) => ComponentType < any > ;
6+
7+ const compose = ( ...hocs : HOC [ ] ) => {
8+ return ( component : ComponentType < any > ) : ComponentType < any > => {
9+ return hocs . reduceRight ( ( wrapped , hoc ) => hoc ( wrapped ) , component ) ;
10+ } ;
11+ } ;
12+
13+ export const withProviders = compose ( withRouter ) ;
Original file line number Diff line number Diff line change 1+ // src/app/providers/with-router.tsx
2+ import { RouterProvider , createRouter } from '@tanstack/react-router' ;
3+ import { routeTree } from '../../routeTree.gen' ;
4+ import { ComponentType } from 'react' ;
5+
6+ const router = createRouter ( { routeTree } ) ;
7+
8+ export const withRouter = ( _Component : ComponentType ) => {
9+ return ( ) => < RouterProvider router = { router } /> ;
10+ } ;
Original file line number Diff line number Diff line change @@ -5,7 +5,6 @@ import { TanStackRouterDevtools } from '@tanstack/react-router-devtools';
55const RootLayout = ( ) => (
66 < >
77 < Header />
8- < hr />
98 < Outlet />
109 < TanStackRouterDevtools />
1110 </ >
Original file line number Diff line number Diff line change 11import { StrictMode } from 'react' ;
22import ReactDOM from 'react-dom/client' ;
3- import { RouterProvider , createRouter } from '@tanstack/react-router' ;
4-
5- // Import the generated route tree
6- import { routeTree } from './routeTree.gen' ;
7-
8- // Create a new router instance
9- const router = createRouter ( { routeTree } ) ;
10-
11- // Register the router instance for type safety
12- declare module '@tanstack/react-router' {
13- interface Register {
14- router : typeof router ;
15- }
16- }
3+ import { withProviders } from './app/providers' ;
174
185const rootElement = document . getElementById ( 'root' ) ! ;
6+
197if ( ! rootElement . innerHTML ) {
208 const root = ReactDOM . createRoot ( rootElement ) ;
9+
10+ const App = withProviders ( ( ) => null ) ;
11+
2112 root . render (
2213 < StrictMode >
23- < RouterProvider router = { router } />
14+ < App />
2415 </ StrictMode >
2516 ) ;
2617}
Original file line number Diff line number Diff line change 11/// <reference types="vite/client" />
2+ /// <reference types="vite-plugin-svgr/client" />
You can’t perform that action at this time.
0 commit comments