gpt4 book ai didi

reactjs - 如何在react-router 4中向url添加哈希

转载 作者:行者123 更新时间:2023-12-03 13:23:37 25 4
gpt4 key购买 nike

我想将哈希添加到react-router中的endopints中,以防止来自服务器的错误响应。我正在使用 python -m SimpleHTTPServer -p 8888 来创建服务器。

这个简短的示例有效,但是当我尝试在 /about 等某些路线上重新加载页面时,我收到错误:错误响应错误代码 404。消息:找不到文件。错误代码说明:404 = 没有任何内容与给定的 URI 匹配。

import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";

const Routes = () => (
<Router>
<div>
<ul>
<li><Link to="/about">About Link</Link></li>
<li><Link to="/company">Company Link</Link></li>
</ul>
<Switch>
<Route path="/about" component={About} />
<Route path="/company" component={Company} />
</Switch>
</div>
</Router>
);

class App extends React.Component {
render() {
return (
<Routes />
);
}
}

最佳答案

有两种方法可以解决这个问题:

1) 让您的 Web 服务器始终使用相同的 index.html 文件进行响应,无论路由如何。这可以防止 404 错误,但并不完美,因为它不支持浏览器缓存

2) 使用HashRouter - 它将把 UI 路由保留在 URL 的哈希部分中,这不会使服务器返回 404 并将启用浏览器端缓存。这种方法的缺点是您无法使用 #target 链接到网页的特定部分

关于reactjs - 如何在react-router 4中向url添加哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com