React Router v4 路由器类型之间有啥区别?

Posted

技术标签:

【中文标题】React Router v4 路由器类型之间有啥区别?【英文标题】:What's the Difference between the React Router v4 Router Types?React Router v4 路由器类型之间有什么区别? 【发布时间】:2018-01-09 01:21:22 【问题描述】:

我尝试在 YouTube 和官方文档中学习一些 React 基础知识,但我只在两个视频中遇到了多个不同的路由器。可悲的是,教练根本没有解释任何事情,我比以前更加困惑。

博士:我真的不明白浏览器路由器、“普通”路由器和索引路由器之间的区别。谢谢大家帮助我。

【问题讨论】:

github.com/ReactTraining/react-router 【参考方案1】:

浏览器路由器doc

Router 使用 html5 历史 API(pushState、replaceState 和 popstate 事件)使您的 UI 与 URL 保持同步。

路线doc

它最基本的职责是在位置与路线的路径匹配时呈现一些 UI。

这些东西到底是什么意思

BrowserRouter 是一个 React 组件,它监视 URL 并或多或少地将当前路径传递给它的子组件,而 Route 组件将根据其父 @ 传递给它的 URL 信息呈现一些其他组件987654327@。 IndexRoute 用于在渲染特定的Route 组件时设置默认视图。更多关于here。

请记住,react-router 只是一组巧妙实现的 vanilla react 组件,可用于模拟服务器端路由处理程序,从而使单页应用程序看起来是多个页面。

希望这会有所帮助!

【讨论】:

但是<Router /><BrowserRoute />有什么区别?

以上是关于React Router v4 路由器类型之间有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

this.props.history.push() 似乎不再适用于 React Router v4,有啥替代方案?

如何在React Router v4中获取所有参数

react-router v4 使用 history 控制路由跳转

React Router v4 渲染多个路由

如何使用 react-router v4 检测路由变化?

使用 React Router v4 的嵌套路由 - 解决方案