React路由基本用法[通俗易懂]

React路由基本用法[通俗易懂]React路由基本用法1.ReactRouter4.0基本概述:ReactRouter4.0(以下简称RR4)遵循React的设计理念,即万物皆组件。所以RR4只是一堆提供了导航功能的组件(还有若干对象和方法),具有声明式(声明式编程简单来讲就是你只需要关心做什么,而无需关心如何去做,可组合性的特点。RR4采用单代码仓库模型架构(monorepo),这意味者这个仓库里面有…

大家好,又见面了,我是你们的朋友全栈君。

React路由基本用法

1.React Router4.0基本概述:

React Router4.0(以下简称 RR4)遵循React的设计理念,即万物皆组件。所以 RR4 只是一堆 提供了导航功能的组件(还有若干对象和方法),具有声明式(声明式编程简单来讲就是你只需要关心做什么,而无需关心如何去做,可组合性的特点。

RR4 采用单代码仓库模型架构(monorepo),这意味者这个仓库里面有若干相互独立的包,分别是:

  • react-router React Router 核心
  • react-router-dom 用于 DOM 绑定的 React Router
  • react-router-native 用于 React Native 的 React Router
  • react-router-redux React Router 和 Redux 的集成
  • react-router-config 静态路由配置的小助手

2.react-router-dom怎样使用?

1.react-router-dom和react-router的关系:

在 React 的使用中,我们一般要引入两个包,react 和 react-dom,那么 react-router 和react-router-dom 是不是两个都要引用呢?其实他们两个只要引用一个就行了,因为react-router-dom里面依赖于react-router(“react-router-dom包含react-router”的关系),如下图所示;

React路由基本用法[通俗易懂]

2.react-router-dom和react-router的区别:

它们之间的不同之处就是react-router-dom比react-router多出了 <Link> <BrowserRouter> 这样的组件;

3.react-router-dom的基本用法:

react-router-dom的API在网上能搜索到一大堆,这里不啰嗦了;直接上怎么用?

1.先用create-react-app脚手架工具,初始化项目名为react19的项目,完成目录结构如下:

React路由基本用法[通俗易懂]

2.然后使用命令yarn add react-router-dom或cnpm install react-router-dom安装react-router-dom依赖包并在App.js中初始化路由配置;

React路由基本用法[通俗易懂]

基本总结:

1.<BrowserRouter>组件:Router是BrowserRouter的别名,它表示BrowserRouter本身。而BrowserRouter使用了H5 Histroy API高阶路由组件;

2.<Switch>组件:它的作用是只渲染出第一个与当前访问地址匹配的<route>和<redireact>组件;

3.<Route/>组件:当地址URL和path属性设置的值匹配时,渲染出相应的UI组件界面;

4.<HashRouter>组件:它的作用主要利用Hash值的原理进行地址—UI匹配,在RR4中并没有抛弃,但是不建议使用;熟悉vue-router的可以知道,它跟vue-router匹配原理一样;

5.<NavLink>组件:主要用于导航拥有激活状态准备的;它和Link的路由匹配效果一致;不同的是NavLink有状态标记,Link无状态标记,如下面效果实现就建议使用NavLink;

React路由基本用法[通俗易懂]

NavLink用法如下:

<NavLink to="/one" activeClassName="actived"></NavLink>

以上是React-Router-Dom的基本组件和API解释,详情请百度之;

3.通过运行npm start命令就可以启动服务器查看效果:

React路由基本用法[通俗易懂]

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136901.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一些建议方案猿简历

    一些建议方案猿简历

    2021年12月30日
    46
  • MATLAB2018求矩阵的逆以及矩阵无穷范数的计算[通俗易懂]

    在命令行窗口输入矩阵A,>>a=[0.7800.563;0.9130.659]返回结果输出,a=0.78000.56300.91300.6590求该矩阵的逆,>>b=inv(a)返回结果输出,b=1.0e+05*6.5900-5.6300-9.13007.8000注,返回矩阵前的为科学记数法求矩阵的无穷范数,…

    2022年4月10日
    166
  • 盘点 6 个开源的音乐播放器!

    盘点 6 个开源的音乐播放器!盘点几个开源的音乐播放器,在这些项目中你可以学习到React、Vue、Kotlin等相关的技术栈。有的是仿当前比较火的音乐应用,而有的是开发者自主开发。本期推荐开源项目目录:1.仿QQ音乐2.网易云音乐3.Material主题音乐播放器4.不太现代的音乐播放器5.专注于免费流媒体资源的桌面音乐播放器01仿QQ音乐模仿QQ音乐网页版界面,采用fl…

    2022年6月26日
    71
  • Maximum execution time of 30 seconds exceeded解决办法

    Maximum execution time of 30 seconds exceeded解决办法

    2021年10月16日
    44
  • Linux终端工具_ubuntu终端命令大全

    Linux终端工具_ubuntu终端命令大全本文中,介绍了14款最佳Linux命令行终端工具,可以用来替代debian系的Linux原生终端。如果你每天需要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,不妨看看这篇文章,或许能给你带来一些帮助。如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章。我这里搜集了一些非常有趣的终端…

    2022年8月21日
    10
  • DotNET介绍_dotnet 6

    DotNET介绍_dotnet 6一、.NET课程简介(DotNET全程)1、DotNET是微软公司旗下的一种用作于软件网络开发的新型技术。2、世界上最流行的操作系统是windows系统。3、.NETFramework是指DotNET的运行环境二、C#语言1、是微软旗下的一门新兴的计算机语言,C#是做.NET开发的一种语言工具2、C#语言是一种运行在.NETFramework平台之下的一种编程语言。我们用C#…

    2025年8月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号