gpt4 book ai didi

react-router:为什么比 hashHistory 更喜欢 browserHistory?

转载 作者:行者123 更新时间:2023-12-04 03:08:06 27 4
gpt4 key购买 nike

我对 React 比较陌生;如果这是一个非常幼稚的问题,我深表歉意。
browserHistory有哪些技术优势?使其优于 hashHistory ?例如,使用 History API 是否有重大的性能/效率提升? ?

文档指出 browserHistoryrecommended ,即使这是以 additional server config 为代价的并且需要通过 basename 为不同的服务器硬编码或配置您的基本 URL .
hashHistory然而,“正常工作”,不管提供文件的基本 URL 是什么。不需要服务器配置。捆绑您的应用程序,从服务器上的任何 URL/路径托管它,一切顺利。

如果文档更深入地解释为什么它可能会很好 browserHistory建议使用,即使它涉及更多复杂性。

最佳答案

在某些情况下 hashHistory 很好 - 除非您开始处理需要知道原始请求的完整 URL 的服务器端逻辑。

Browsers do not send the #hash part of URL in any of HTTP requests.



因此,当用户请求页面时,服务器端(即 NodeJS)将不知道 URL 中的 #hash 是什么。

一个很好的例子是用户尝试加载需要登录的页面(通过 oAuth 等)。在用户被带到单独的网站进行身份验证之前,您的应用程序的服务器端会告诉身份验证供应商在成功登录后将用户重定向到哪个 URL(通常是请求的原始 URL,因为大多数网站都是这样做的)。如果您要使用 hashHistory - 服务器端只会知道 之前的位# 符号并将用户重定向到您的应用程序的主页,而不是用户想要加载的子页面。

我希望这是有道理的。

关于react-router:为什么比 hashHistory 更喜欢 browserHistory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015155/

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