[英]React router doesn't work after deploying
我在Google Cloud Platform上部署了一個react-app: https : //just-palace-214904.appspot.com/
但是,僅顯示第一頁,超鏈接不起作用。 當我在本地主機上運行應用程序時,它們運行良好。 以下是我的設置:
index.js:
import React from 'react'; import ReactDOM from 'react-dom'; import {BrowserRouter, Route, Switch} from 'react-router-dom' import SignIn from './components/SignIn'; import SignUp from './components/SignUp'; import ForgotPass from './components/ForgotPass'; ReactDOM.render((<BrowserRouter> <Switch> <Route exact={true} path="/" component={SignIn}/> <Route path="/signup" component={SignUp}/> <Route path="/forgot" component={ForgotPass}/> </Switch> </BrowserRouter>), document.getElementById('root'));
我的超鏈接:
<a href="/forgot">Forgot password?</a><br/> <a href="/signup">Create account</a>
您應該使用Link
而不是錨標記。
更改
<a href="/forgot">Forgot password?</a><br/>
<a href="/signup">Create account</a>
至
<Link to="/forgot">Forgot Password?</Link><br/>
<Link to="/signup">Create account</Link>
Link
來自react-router-dom
包。
我不知道為什么,我之前遇到過的類似問題,使用HashRouter
可以HashRouter
工作,而不是使用BrowserRouter
:
import { HashRouter } from 'react-router-dom'
啊,我在這里找到了一個博客,解釋了它們之間的差異。
該
BrowserRouter
當你將要處理動態請求的服務器應該使用(知道如何應對任何可能的URI),而HashRouter
應該用於靜態網站(其中服務器只能響應請求的,它知道文件)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.