reactjs - 在能够加载登录页面(Home 组件)之后,如何让其余的 React 组件通过 github 页面呈现?
问题描述
我一直在花费数小时试图让我的 create react 应用程序通过 git-hub 页面进行部署。我可以渲染登录页面/主页组件,但是一旦我单击导航链接,由于路径发生变化,我的其余组件将不会渲染。我在 react 中有正确的 prod 构建,并且我正在使用 HashRouter。由于我的主页加载而不是其他导航/组件,我认为这是一个简单的路线问题,但在我阅读了所有文档之后,我仍然无法解决问题。这让我很生气,哈哈。这是主页的链接。请注意,如果您单击导航链接,则会出现错误。 http://zonekid.github.io/TelevisionFavorites
对于 App.js
`class App extends Component {
render() {
return (
<React.Fragment>
<Container fluid>
<Router basename="/">
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/twin-peaks" component={TwinPeaks}/>
<Route path="/atlanta" component={Atlanta}/>
导航组件 (HomeNav.js)
<Nav className="justify-content-center" activeKey="/home">
<Nav.Item>
<Color1>
<Nav.Link className="nav-link" href="/atlanta" eventKey="link-1">Atlanta</Nav.Link>
</Color1>
</Nav.Item>
<Nav.Item>
<Color2>
<Nav.Link href="/twin-peaks" eventKey="link-2">Twin Peaks</Nav.Link>
</Color2>
</Nav.Item>
`
解决方案
如果您的应用程序是使用 制作的create-react-app
,您应该将您的设置basename
为process.env.PUBLIC_URL
而不是您当前的值,/
如下所示:
<Router basename={process.env.PUBLIC_URL}>
推荐阅读
- reactjs - 将 Recharts 导入 Rollup、Typescript、React 项目时遇到问题
- c# - EFCore 3 动态数据库集
- javascript - React-hook setState 无法按预期工作
- c++ - 这些代码库之间有什么不同吗?
- python - REST API 控制器是否应该包含有关分解请求主体的逻辑?
- swiftui - 具有 ObservableObject 属性的 ObservableObject 未触发 SwiftUI 更新
- sql - 如果前一列值不为空,则更新表中的下一列
- environment-variables - 如何在 Gatsby 应用程序的 .env 文件中指定 URL?
- import - 在 Python3 中导入相邻模块
- html - 如何使用 CSS 在不同设备中计算我的 margin-top?