博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react-router与react-router-dom使用时的区别
阅读量:5751 次
发布时间:2019-06-18

本文共 1482 字,大约阅读时间需要 4 分钟。

1、React-router与React-router-dom的API对比

React-router:提供了router的核心api。如Router、Route、Switch等,但没有提供有关dom操作进行路由跳转的ap;

React-router-dom:提供了BrowserRouter、Route、Link等api,可以通过dom操作触发事件控制路由。

 

 2、React-router与React-router-dom的功能对比

React-router:实现了路由的核心功能

React-router-dom:基于React-router,加入了一些在浏览器运行下的一些功能,

  例如:Link组件会渲染一个a标签,

       BrowserRouter使用 HTML5 提供的 history API可以保证你的 UI 界面和 URL 保持同步,

       HashRouter使用 URL 的 hash 部分保证你的 UI 界面和 URL 保持同步

 

 3、React-router与React-router-dom的写法对比

React-router不能通过操作dom控制路由,此时还需引入React-router-dom

import {Switch, Route, Router} from 'react-router';import {HashHistory, Link} from 'react-router-dom';

React-router-dom在React-router的基础上扩展了可操作dom的api

import {Swtich, Route, Router, HashHistory, Link} from 'react-router-dom';

 

 4、React-router与React-router-dom的路由跳转对比

React-router:router4.0以上版本用this.props.history.push('/path')实现跳转;

       router3.0以上版本用this.props.router.push('/path')实现跳转

React-router-dom:直接用this.props.history.push('/path')就可以实现跳转

 

总结:

  在使用React的大多数情况下,我们会想要通过操作dom来控制路由,例如点击一个按钮完成跳转,这种时候使用React-router-dom就比较方便。

  安装也很简单:npm install   react-router-dom --save 

  从react-router-dompackage.json的依赖就可以看出:react-router-dom是依赖react-router的,所以我们使用npm安装react-router-dom的时候,不需要npm安装react-router。

//react-router-dom的依赖"dependencies": {    "history": "^4.7.2",    "invariant": "^2.2.2",    "loose-envify": "^1.3.1",    "prop-types": "^15.5.4",    "react-router": "^4.2.0",    "warning": "^3.0.0"  }

 

 

-THE END-

转载于:https://www.cnblogs.com/menggirl23/p/10288477.html

你可能感兴趣的文章
HAProxy负载均衡原理及企业级实例部署haproxy集群
查看>>
vCloud Automation Center (vCAC) 6.0 (二)
查看>>
开源中国动弹客户端实践(三)
查看>>
Win 8创造颠覆性体验:预览版关键更新
查看>>
vim在多文件中复制粘贴内容
查看>>
初遇 Ext3grep
查看>>
蓝屏分析
查看>>
Android ContentObserver
查看>>
微管理——给你一个技术团队,你该怎么管
查看>>
文章“关于架构优化和设计,架构师必须知道的事情”
查看>>
疯狂java学习笔记1002---非静态内部类
查看>>
ISA2006实战系列之一:实战ISA三种客户端部署方案(上)
查看>>
TCP服务器
查看>>
OCS和GLPI 安装文档
查看>>
U-Mail邮件系统与泛微OA系统一体化操作指南
查看>>
合并两个list集合并且排序
查看>>
AC旁挂三层交换机管理ap,二层接入ap心得
查看>>
DC/OS虚拟网络
查看>>
如何将Exchange 2010 CU15更新到CU26 - 解决CVE安全漏洞
查看>>
JS中比较数字大小
查看>>