react-router 为什么没有 Router 把路由信息放到请求参数里?

2020-10-23 18:19:12 +08:00
 xiaoming1992

我知道有 BrowserRouter, 路由信息直接放在路径中, 缺点是需要后端配合;

还有 HashRouter, 路由信息放在 hash 中, 缺点是, 如果想要获取 searchParams 等参数, 需要使用 react-router-dom 导出的方法(如 useLocation 等), 或者自己写函数来解析 window.location

那为什么没有 "QueryRouter", 把路由信息放到 search 参数中, 形如 ?__router__=/index, 这样的好处是, 想要获取 searchParams 等参数, 只需要使用

const url = new URL(window.location)
const { hash, searchParams } = url

其他各种参数都能用原生的方法来获取或设置

那么没有 "QueryRouter", 是出于其他什么考虑吗? 有什么缺点是我没有考虑到的? 还是说已经有了?

939 次点击
所在节点    JavaScript
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/717970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX