<BrowserRouter>
declare function BrowserRouter(
props: BrowserRouterProps
): React.ReactElement;
interface BrowserRouterProps {
basename?: string;
children?: React.ReactNode;
future?: FutureConfig;
window?: Window;
}
<BrowserRouter>
使用干净的 URL 将当前位置存储在浏览器的地址栏中,并使用浏览器的内置历史记录堆栈进行导航。
import * as React from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
const root = createRoot(document.getElementById("root"));
root.render(
<BrowserRouter>
{/* The rest of your app goes here */}
</BrowserRouter>
);
basename
配置您的应用程序以在 URL 中的特定基本名称下运行
function App() {
return (
<BrowserRouter basename="/app">
<Routes>
<Route path="/" /> {/* 👈 Renders at /app/ */}
</Routes>
</BrowserRouter>
);
}
future
一组可选的 未来标志 可供启用。我们建议您尽早选择新发布的未来标志,以便更容易地迁移到 v7。
function App() {
return (
<BrowserRouter future={{ v7_startTransition: true }}>
<Routes>{/*...*/}</Routes>
</BrowserRouter>
);
}
window
BrowserRouter
默认使用当前 文档的 defaultView
,但它也可以用于跟踪另一个窗口的 URL 更改,例如在 <iframe>
中。