DOMRouteOpts
interface不出口.
interface DOMRouterOpts {
basename?: string;
future?: Partial<Omit<RouterFutureConfig, "v7_prependBasename">>;
hydrationData?: HydrationState;
unstable_dataStrategy?: unstable_DataStrategyFunction;
window?: Window;
}
如果您明确需要,您可以自己定义接口:
import type {
unstable_DataStrategyFunction,
FutureConfig as RouterFutureConfig,
HydrationState,
} from '@remix-router';
export interface DOMRouterOpts {
basename?: string;
future?: Partial<Omit<RouterFutureConfig, "v7_prependBasename">>;
hydrationData?: HydrationState;
unstable_dataStrategy?: unstable_DataStrategyFunction;
window?: Window;
}
import {
createBrowserRouter,
createRoutesFromElements,
Route,
} from "react-router-dom";
import type { RouteObject } from "react-router-dom";
import type { Router as RemixRouter } from '@remix-router';
import type { DOMRouterOpts } from "@types/DOMRouterOpts";
import Root from "@src/routes/Root";
import Home from "@src/routes/Home";
const routes: RouteObject[] = createRoutesFromElements(
<Route path="/" element={<Root />}>
<Route index element={<Home />} />
</Route>
);
const opts: DOMRouterOpts = {
// ... whatever options you are trying to specify ...
};
export const router: RemixRouter = createBrowserRouter(routes, opts);
尽管这一切可能都有些矫枉过正,因为createRoutesFromElements
和createBrowserRouter
是用Typescript编写的,并且知道它们返回和消费的内容.路由选项basically只需要是与DOMRouterOpts
的形状匹配的对象.以下内容可能也适合您.
import {
createBrowserRouter,
createRoutesFromElements,
Route,
} from "react-router-dom";
import Root from "@src/routes/Root";
import Home from "@src/routes/Home";
const routes = createRoutesFromElements(
<Route path="/" element={<Root />}>
<Route index element={<Home />} />
</Route>
);
const opts = {
// ... whatever options you are trying to specify that
// match what `createBrowserRouter` accepts ...
};
export const router = createBrowserRouter(routes, opts);