【发布时间】:2020-08-10 09:27:41
【问题描述】:
我是 React 和 react-router-dom 的新手,他们让我陷入了一个循环。
目前,HashRouter 在开发模式和生产环境中使用 Github 页面按预期工作:
import React from 'react';
import './css/main.css';
import { BrowserRouter, HashRouter, Switch, Route } from 'react-router-dom';
import AboutMe from './components/pages/AboutMe';
import MyWork from './components/pages/MyWork';
import HowToReachMe from './components/pages/HowToReachMe';
import LandingPage from './components/pages/LandingPage';
export default function App() {
return (
<HashRouter>
<Switch>
<Route exact path="/" component={LandingPage} />
<Route path="/AboutMe" component={AboutMe} />
<Route path="/MyWork" component={MyWork} />
<Route path="/HowToReachMe" component={HowToReachMe} />
</Switch>
</HashRouter>
);
}
但是,使用 BrowserRouter 会导致空白的灰色或白色页面没有错误:
return (
<BrowserRouter>
<Switch>
<Route exact path="/" component={LandingPage} />
<Route path="/AboutMe" component={AboutMe} />
<Route path="/MyWork" component={MyWork} />
<Route path="/HowToReachMe" component={HowToReachMe} />
</Switch>
</BrowserRouter>
);
现在,当我尝试将我的自定义域与 github 页面一起使用时,我会得到一个空白的白色页面,同时使用 BrowserRouter 或 HashRouter 都没有错误。我确信我正确设置了域,因为您仍然可以使用开发工具 (https://connor-mote.com/) 查看 head 标签。
为什么 BrowserRouter 或 HashRouter 不能与使用 GitHub 页面的自定义域一起使用?
【问题讨论】:
标签: reactjs github-pages react-router-dom