[英]page not working when page refresh (react-router)
我正在构建一个简单的库存管理应用程序。 我使用 JWT 进行身份验证/授权,并部署在 heroku 上。 该应用程序在本地运行良好,但对于 heroku 部署的应用程序,当我重新加载页面时,它显示一个空白页面和 json 数据在另一个页面中。 我花了几天时间来解决这个问题,发现问题在于 react-router 在页面刷新时没有向服务器发出请求。 我发现这篇文章可以解决问题https://ui.dev/react-router-cannot-get-url-refresh/
并尝试在 ZE6B391A8D2C4D45902A23A8B 中使用 hash 标记但是,当我在本地尝试时,它不起作用。 例如,在我的 App.js 中,我有路由并在根 url 的末尾插入了#
。 (我也在 package.json 中使用代理)登录后,浏览器中的 url 没有显示#
并给我一个空白页。 但是,如果我删除#
它工作正常。 我将非常感谢您对此问题的帮助。
App.js 路由
<InventoryContext.Provider value={{name, setName,region, setRegion}}>
<Router>
<Switch>
<Route exact path="/#" render={props => !isAuthenticated ? <Login {...props} setAuth={setAuth} /> : <Redirect to="/bacslist" />} />
<Route exact path="/#/register" render={props => !isAuthenticated ? <Register {...props} setAuth={setAuth} /> : <Redirect to="/bacslist" />}/>
<Route exact path="/#/bacslist/" render={props => isAuthenticated ? <Bacslist {...props} setAuth={setAuth} /> : <Redirect to="/" />}/>
<Route exact path="/#/bacslist/salesinventory" render={props => isAuthenticated ? <Salesinventory {...props} setAuth={setAuth} /> : <Redirect to="/bacslist/salesinventory" />}/>
<Route exact path="/#/bacslist/demoinventory" render={props => isAuthenticated ? <Demoinventory {...props} setAuth={setAuth} /> : <Redirect to="/bacslist/demoinventory" />}/>
</Switch>
</Router>
</InventoryContext.Provider>
package.json
"proxy": "http://localhost:5000"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.