@@ -6,6 +6,7 @@ import type {
6
6
StaticHandlerContext ,
7
7
CreateStaticHandlerOptions as RouterCreateStaticHandlerOptions ,
8
8
UNSAFE_RouteManifest as RouteManifest ,
9
+ RouterState ,
9
10
} from "@remix-run/router" ;
10
11
import {
11
12
IDLE_BLOCKER ,
@@ -17,7 +18,10 @@ import {
17
18
createStaticHandler as routerCreateStaticHandler ,
18
19
UNSAFE_convertRoutesToDataRoutes as convertRoutesToDataRoutes ,
19
20
} from "@remix-run/router" ;
20
- import { UNSAFE_mapRouteProperties as mapRouteProperties } from "react-router" ;
21
+ import {
22
+ UNSAFE_mapRouteProperties as mapRouteProperties ,
23
+ UNSAFE_useRoutesImpl as useRoutesImpl ,
24
+ } from "react-router" ;
21
25
import type {
22
26
DataRouteObject ,
23
27
Location ,
@@ -28,7 +32,6 @@ import {
28
32
createPath ,
29
33
parsePath ,
30
34
Router ,
31
- useRoutes ,
32
35
UNSAFE_DataRouterContext as DataRouterContext ,
33
36
UNSAFE_DataRouterStateContext as DataRouterStateContext ,
34
37
} from "react-router-dom" ;
@@ -122,17 +125,19 @@ export function StaticRouterProvider({
122
125
hydrateScript = `window.__staticRouterHydrationData = JSON.parse(${ json } );` ;
123
126
}
124
127
128
+ let { state } = dataRouterContext . router ;
129
+
125
130
return (
126
131
< >
127
132
< DataRouterContext . Provider value = { dataRouterContext } >
128
- < DataRouterStateContext . Provider value = { dataRouterContext . router . state } >
133
+ < DataRouterStateContext . Provider value = { state } >
129
134
< Router
130
135
basename = { dataRouterContext . basename }
131
- location = { dataRouterContext . router . state . location }
132
- navigationType = { dataRouterContext . router . state . historyAction }
136
+ location = { state . location }
137
+ navigationType = { state . historyAction }
133
138
navigator = { dataRouterContext . navigator }
134
139
>
135
- < DataRoutes routes = { router . routes } />
140
+ < DataRoutes routes = { router . routes } state = { state } />
136
141
</ Router >
137
142
</ DataRouterStateContext . Provider >
138
143
</ DataRouterContext . Provider >
@@ -149,10 +154,12 @@ export function StaticRouterProvider({
149
154
150
155
function DataRoutes ( {
151
156
routes,
157
+ state,
152
158
} : {
153
159
routes : DataRouteObject [ ] ;
160
+ state : RouterState ;
154
161
} ) : React . ReactElement | null {
155
- return useRoutes ( routes ) ;
162
+ return useRoutesImpl ( routes , undefined , state ) ;
156
163
}
157
164
158
165
function serializeErrors (
0 commit comments