React 路由简介

文章目录

    • Router介绍
    • Router原理
    • Router安装

Router介绍

React Router现在的版本是5, 于2019年3月21日搞笑的发布,搞笑的官网链接, 本来是要发布4.4的版本的,结果成了5。从4开始,使用方式相对于之前版本的思想有所不同。

  • 之前版本的思想是传统的思想:路由应该统一在一处渲染

  • Router 4之后是这样的思想:一切皆组件

  • React Router包含了四个包:

包名 描述
react-router React Router核心api
react-router-dom React Router的DOM绑定,在浏览器中运行不需要额外安装react-router
react-router-native React Native 中使用,而实际的应用中,其实不会使用这个。
react-router-config 静态路由的配置
  • 主要使用react-router-dom

Router原理

React Router甚至大部分的前端路由都是依赖于history.js的,它是一个独立的第三方js库。可以用来兼容在不同浏览器、不同环境下对历史记录的管理,拥有统一的API。

老版本浏览器:

  • 通过hash来存储在不同状态下的history信息,对应createHashHistory,通过检测location.hash的值的变化,使用location.replace方法来实现url跳转。通过注册监听window对象上的hashChange事件来监听路由的变化,实现历史记录的回退。

高版本浏览器:

  • 利用HTML5里面的history,对应createBrowserHistory, 使用包括pushStatereplaceState方法来进行跳转。通过注册监听window对象上的popstate事件来监听路由的变化,实现历史记录的回退。

node 环境下:

  • 在内存中进行历史记录的存储,对应createMemoryHistory。直接在内存里pushpop状态。

Router安装

  • 安装依赖指令:
npm i -S react-router-dom

你可能感兴趣的:(#,React,全套学习笔记,前端全套学习笔记,react,router,安装)