<HashRouter>
declare function HashRouter(
props: HashRouterProps
): React.ReactElement;
interface HashRouterProps {
basename?: string;
children?: React.ReactNode;
future?: FutureConfig;
window?: Window;
}
<HashRouter>
用於網址出於某種原因不適合(或無法)傳送至伺服器的網路瀏覽器中。這可能會發生在一些您對伺服器沒有完全控管權的共用主機場景中。在這些情況下,<HashRouter>
可以將目前位置儲存在目前網址的 hash
部分中,因此它永不會傳送至伺服器。
import * as React from "react";
import * as ReactDOM from "react-dom";
import { HashRouter } from "react-router-dom";
ReactDOM.render(
<HashRouter>
{/* The rest of your app goes here */}
</HashRouter>,
root
);
HashRouter
。
basename
配置您的應用程式在網址中的特定基本名稱下執行
function App() {
return (
<HashRouter basename="/app">
<Routes>
<Route path="/" /> {/* 👈 Renders at /#/app/ */}
</Routes>
</HashRouter>
);
}
future
一組可選的 未來旗標 可啟用。我們建議您盡早選擇新發行的未來旗標,以簡化您最終遷移至 v7 的過程。
function App() {
return (
<HashRouter future={{ v7_startTransition: true }}>
<Routes>{/*...*/}</Routes>
</HashRouter>
);
}
window
HashRouter
預設使用目前的 文件預設檢視,但也可以用於追蹤其他視窗網址的變更,例如在 <iframe>
中。