面试官:说说React Router有几种模式?实现原理?
一、是什么
在单页应用中,一个web项目只有一个html页面,一旦页面加载完成之后,就不用因为用
户的操作而进行页面的重新加载或者跳转,其特性如下:
• 改变 url 且不让浏览器像服务器发送请求
• 在不刷新页面的前提下动态改变浏览器地址栏中的URL地址
其中主要分成了两种模式:
• hash 模式:在url后面加上#,如http://127.0.0.1:5500/home/#/page1
• history 模式:允许操作浏览器的曾经在标签页或者框架里访问的会话历史记录
二、使用
React Router对应的hash模式和history模式对应的组件为:
• HashRouter
• BrowserRouter
这两个组件的使用都十分的简单,作为最顶层组件包裹其他组件,如下所示
// 1.import { BrowserRouter as Router } from "react-router-dom";
// 2.import { HashRouter as Router } from "react-router-dom";
import React from 'react';
import {
BrowserRouter as Router,