在 React Router 中,Router 组件具体包含哪几种类型?
考察说明
考查对 React Router 核心组件分类的掌握程度。
回答思路
- 【回答框架 1】React Router 中的 Router 组件主要分为三种类型:BrowserRouter、HashRouter 和 MemoryRouter。其中 BrowserRouter 使用 HTML5 History API 来保持 UI 与 URL 同步,适用于服务端支持 history 回退的传统 Web 应用。
- 【回答框架 2】HashRouter 通过在 URL 的哈希部分(即 # 后的内容)来维护路由状态,兼容性更好,但 URL 不够美观,适合无法进行服务端配置的静态页面。
- 【回答框架 3】MemoryRouter 将路由历史保存在内存中,不依赖浏览器地址栏,常用于测试环境或非浏览器环境(如 React Native)。
- 【回答框架 4】除了这三种基础 Router,React Router 还提供 StaticRouter,用于服务端渲染时生成静态路由上下文,以及 NativeRouter 用于 React Native 应用,它们都是针对特定运行环境的扩展实现。
- 【关键点 1】三种主要类型是 BrowserRouter、HashRouter、MemoryRouter。
- 【关键点 2】BrowserRouter 依赖 History API,HashRouter 使用 URL 哈希,MemoryRouter 使用内存历史。
- 【关键点 3】StaticRouter 和 NativeRouter 分别用于 SSR 和移动端场景。
- 【易错点 1】不要将 Router 组件与 Route 组件混淆,前者是路由容器,后者定义具体路径与组件的映射。