The key of the fetcher targeted by this data strategy execution, otherwise
null. Fetchers reloaded during a navigation or revalidation retain that
unstable_initiator while providing their key here.
Matches for this route extended with Data strategy APIs
Dynamic route params for the current route.
Matched un-interpolated route pattern for the current path (i.e., /blog/:slug). Mostly useful as a identifier to aggregate on for logging/tracing/etc.
A Fetch Request instance which you can use to read headers (like cookies, and URLSearchParams from the request.
The operation that initiated this data strategy execution
This field is experimental and subject to breaking changes.
The history action ("PUSH", "REPLACE", or "POP") for a navigation-
initiated execution, including fetchers reloaded by that navigation.
null for initialization, fetcher, revalidation, and static executions.
This field is experimental and subject to breaking changes.
A URL instance representing the application location being navigated to or fetched.
In Framework mode, this is a normalized URL with React-Router-specific
implementation details removed (.data suffixes, index/_routes search
params). For the raw incoming URL, use request.url.
This normalization preserves standard URL pathname encoding and casing.
For example, a request to /%61dmin.data produces a url.pathname of
/%61dmin. This is not a canonical representation of the matched route.
For authorization, attach server middleware
to the protected route or a common ancestor instead of relying on literal
pathname-prefix comparisons.
This is the context passed in to your server adapter's getLoadContext() function. It's a way to bridge the gap between the adapter's request/response API with your React Router app. It is only applicable if you are using a custom server adapter.