为什么不推荐react-router v6中的HashRouter?

2024-02-19

在每一个react-routerv6 文档页面提到HashRouter有一个简短的警告文本指出不建议使用这种路由。没有解释为什么。

有没有major缺点?它会以某种方式破坏任何 api 吗?


简短的回答...一些开发人员认为哈希路由会产生“丑陋”的 URL...但实际上,哈希路由的用途可能是服务器环境未设置为处理当前 HTML 或者需要处理所有页面请求在静态 URL 处。

这与文档提供的解释差不多。

哈希路由器 https://reactrouter.com/en/main/router-components/hash-router

<HashRouter>用于当 URL 不应该(或 由于某种原因无法)发送到服务器。这可能会发生在某些 您无法完全控制的共享托管场景 服务器。在这些情况下,<HashRouter>使存储成为可能 当前 URL 的哈希部分中的当前位置,所以它是 从未发送到服务器。

基本上,“仅当您需要并且知道自己在做什么时才使用哈希路由。”我认为通常的情况是,如果你真的不知道自己在做什么或需要什么,那么你真的只需要BrowserRouter.

有什么主要缺点吗?它会以某种方式破坏任何 api 吗?

我不会说有major使用的缺点HashRouter,它只是有不同的目的,就像NativeRouter在本机移动设备上,或MemoryRouter在节点环境中。我不知道你是否在问它是否会破坏任何东西specificAPI 使用HashRouter,但我倾向于说不,它仍然可以与 redux、fetch/axios 等一起使用......以及我能想到的与哈希路由一起使用的任何其他东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么不推荐react-router v6中的HashRouter? 的相关文章

随机推荐

  • python在函数中存储变量并稍后使用它[重复]

    这个问题在这里已经有答案了 是否可以将 while 循环中的变量存储到函数中 然后在循环结束时从函数中调用同一变量 例如 在 while 循环期间 这里的问题是 当我尝试从 store 检索变量时 它失败了 因为它需要传递参数 def st
  • 如何取消长时间运行的数据库操作?

    目前正在与 Oracle 合作 但还需要 MS SQL 的解决方案 我有一个 GUI 允许用户生成将在数据库上执行的 SQL 这可能需要很长时间 具体取决于它们生成的搜索 我希望 GUI 应用程序在此搜索期间做出响应 并且希望用户能够取消搜
  • 如何在 C# 表达式树中设置字段值?

    Given FieldInfo field
  • Marshmallow 中的存储权限错误

    在 Lollipop 中 下载功能在我的应用程序中运行良好 但当我升级到 Marshmallow 时 当我尝试从互联网下载到 SD 卡时 我的应用程序崩溃并给出此错误 Neither user nor current process has
  • Amazon Cognito:从浏览器重定向到 Android 应用程序时如何停止出现“redirect_mismatch”错误

    我正在尝试创建一个 Android 项目 通过让用户在浏览器中登录 Amazon Cognito 来授权用户 然后应该重定向回我的应用程序 不幸的是 当浏览器打开时 我没有到达正确的登录页面 而是不断收到此错误 在我的 Authentica
  • 如何使用 Kobo API 将数据发布到 kobotoolbox 表单?

    我正在使用 kobo REST API 我可以从表单中获取结构信息并通过 API 提交数据 但是当我尝试通过 POST 服务将数据发送到表单时 kobo 返回以下消息 您的例如 数据尚未提交 有没有办法使用其 API 将 POST 数据发送
  • JavaScript - 跨站脚本 - 权限被拒绝

    我有一个 Web 应用程序 我正在尝试使用 Twitter 的 OAuth 功能 该应用程序有一个链接 提示用户输入 Twitter 凭据 当用户单击此链接时 将通过 JavaScript 打开一个新窗口 该窗口用作对话框 这是这样完成的
  • Pandoc Markdown 粗体和颜色

    我正在使用 pandoc 并用 markdown 编写我的文本 为了创建我自己的风格 我使用自定义乳胶模板 我想用一种颜色来设置所有粗体单词的样式 所以当我输入时 a word 这个词不仅应该是粗体 而且还应该是例如蓝色的 在我的乳胶模板文
  • 简单显示SQlite数据库中的数据

    我试图找到一个在布局中显示 SQLite 数据库中的数据的简单示例 我尝试查看 笔记本 示例 但它只有一个输出列 是否有一个示例 其中包含多个输出列 并且如果可能的话 某些列中包含整数数据 闪电战 您可能需要考虑创建自己的客户Adapter
  • PySpark:将 DataFrame 列的值与另一个 DataFrame 列进行匹配

    在 Pandas DataFrame 中 我可以使用DataFrame isin 函数将列值与另一列进行匹配 例如 假设我们有一个 DataFrame df A pd DataFrame col1 A B C B C D col2 1 2
  • 为什么在这种情况下接口合并不起作用?

    我正在 Visual Studio Code 中编写一些 WebGL 代码 类型声明来自 npm 包 types webgl2 而 typescript 似乎没有合并以下接口 interface WebGL2RenderingContext
  • Angular 2 模板引用变量与 *ngFor [重复]

    这个问题在这里已经有答案了 我有两个组成部分 列表和详细信息 In 列表组件我想渲染多个细节组件 列表组件 ts Component selector detail templateUrl detail component html exp
  • 如何在 XAMPP 上使用 Codeigniter 删除 index.php?

    我无法在 XAMPP 1 7 3 上隐藏 Codeigniter index php URL http localhost Servidor agentesRainbow index php agentes tony tony是一个论点 将
  • 编辑输入 type="search" 伪元素按钮 ('x')

    我正在尝试制作一个看起来不错的搜索栏 我所做的是 我制作了一个搜索栏的图像 并将该图像添加到输入的背景中 然后编辑字体将出现的位置和大小 我唯一找不到编辑的方法是使用输入类型搜索时出现的小 x 按钮 我想将其向左移动一点 这样它就能修复我的
  • 如何在Android中实现拖动幻灯片视图

    我需要能够将列表视图拖动到左侧并移出视图 同时暴露第一个列表视图下方的另一个列表视图 我该怎么做呢 您可以使用 OnTouchListener 并在 ACTION MOVE 上调整大小或移动某些视图 请记住调用 setClickable t
  • Android USB 主机 API 和 USB 存储

    我正在尝试使用 android 主机 api 进行 USB 存储 我对此有很多疑问 使用主机 API 一切皆有可能 我想查看 USB 的内容 如果可能的话 查看正常的文件操作 我没有找到任何与此相关的文档帮助 我可以使用 UsbDevice
  • Wix 的 util:CloseApplication 扩展似乎不起作用

    我试图在使用 Wix 卸载之前关闭一个进程 我已经确认 只要存在可见窗口 它就可以工作 但如果没有可见窗口 此应用程序大多数情况下都是这种情况 因为它是系统托盘应用程序 卸载程序就会挂起 并且最终继续卸载 使进程保持运行 根据这个论坛帖子
  • 下载 HTML 页面及其内容

    Does Python有什么方法可以下载整个HTML页面及其内容 图像 CSS 到给定 url 的本地文件夹 并更新本地 html 文件以在本地选择内容 您可以使用urllib http docs python org library ur
  • 在 Visual Studio Code 中将语言更改为 JSX

    立即使用 Visual Studio 代码在0 8版本上支持JSX https code visualstudio com Updates languages jsx colorization 但看起来激活它的唯一方法是使用 jsx文件扩展
  • 为什么不推荐react-router v6中的HashRouter?

    在每一个react routerv6 文档页面提到HashRouter有一个简短的警告文本指出不建议使用这种路由 没有解释为什么 有没有major缺点 它会以某种方式破坏任何 api 吗 简短的回答 一些开发人员认为哈希路由会产生 丑陋 的