为什么你应该尝试@reach/router
最近react-router的一个作者另外写了一个类react-router的组件
@reach/router
,尝试后感觉太棒了。如果你的项目只是web端的话我认为可以把你的react-router换掉了。
下面是我到目前看到的所有非常好的点。
小,就4kb,压缩后比react-router小40kb左右。
更少的配置
a. react-router需要3个包(
history
,
react-router-dom
,
react-router-redux
),reach-router只需要一个。
b. 不需要在store配置router相关信息
c. 不需要显示的使用history
// in store config file //react-router import { routerMiddleware } from 'react-router-redux'; import createHistory from 'history/createBrowserHistory'; const history = createHistory(); const middleware = routerMiddleware(history); export { history };//reach/router, nothing
更好用
a. 当你想跳转页面时
// react-router import { push } from 'react-router-redux'; import { PropTypes } from 'prop-types'; // use it this.context.store.dispatch(push('/see-you'));FooComponent.contextTypes = {store: PropTypes.object, };
// reach/router import { navigate } from "@reach/router"; navigate(`/lol`);
b.当你想取url里面的参数时
// react-router import { withRouter } from 'react-router-dom'; import { PropTypes } from 'prop-types';//use it const { match: { params: { iAmHere } } } = this.props; FooComponent.propTypes = {match: PropTypes.object, }; export default withRouter(FooComponent);
// reach/router const { iAmHere } = this.props;
基本一样的api,学习成本非常低
源码非常简洁,总共就3个文件,900行,如果你想深入理解单页应用的路由是怎么实现的,reach-router,绝对是绝佳的下手资料。
不说了,去看看吧 https://github.com/reach/router
更多专业前端知识,请上 【猿2048】www.mk2048.com
为什么你应该尝试@reach/router相关推荐
- 使用Aura.Router在PHP中进行Web路由
Everyone is interested in SEO-friendly, REST-style URLs. Apache can do URL routing via mod_rewrite r ...
- 在React中使用React Router v6
具有多个视图的单页应用程序 (SPA) 需要有一种路由机制,以便在这些不同视图之间导航,而无需刷新整个网页.这可以通过使用诸如React Router之类的路由库来处理. 在本教程中,让我们看看如何使 ...
- 每周分享第 10 期
这里记录过去一周,我看到的值得分享的东西,每周五发布. (题图:卢日尼基体育场,莫斯科,2014.世界杯开幕式的转播,让我意识到自己去过那个体育场.那天想去莫斯科大学玩,路过一个体育场,大门紧锁,空无 ...
- 这可能是你们都在找的:React 纯原生纯hook多标签微前端
项目地址:https://github.com/X-neuron/antdFront.git 项目特点: 1.采用webpack.babel.antd 等较为原生的配置和函数组件搭建,支持pw ...
- vue路由添加.html,怎么使用VueRouter的addRoutes方法实现动态添加用户的权限路由
怎么使用VueRouter的addRoutes方法实现动态添加用户的权限路由 发布时间:2021-04-26 13:34:44 来源:亿速云 阅读:76 作者:小新 小编给大家分享一下怎么使用VueR ...
- 2020年最新前端框架大全,Web工程师人手一份!
今天跟大家分享一些目前比较热门新鲜度靠前的50款前端工具,希望对你有所帮助. 一.构建工具 1. Parcel 地址:https://parceljs.org Parcel是一款极速零配置WEB应用打 ...
- 50个好用的前端框架,千万收好以留备用!
来源 | https://www.jianshu.com/p/182b69e54fe8 今天跟你分享一些目前比较热门新鲜度靠前的50款前端工具,希望对你有所帮助. 一.构建工具 1. Parcel 地 ...
- 前端热门工具简直不要太好用了!
★★★★★ Web前端开发神器:点击查看→→ WebStorm安装与使用 今日送书!包邮!10本!(初来乍到,多多指教) <Bootstrap实战> <图解CSS3核心技术与案例实 ...
- 2020年最新前端框架大全,Web工程师人手一份
今天跟大家分享一些目前比较热门新鲜度靠前的50款前端工具,希望对你有所帮助. 一.构建工具 1. Parcel 地址:https://parceljs.org Parcel是一款极速零配置WEB应用打 ...
最新文章
- Halcon学习之六:获取Image图像中Region区域的特征参数
- 字典创建列表的2种方法,作业
- 限制会话id服务端不共享_会话控制 - able-woman - 博客园
- 手机基站定位(安卓手机定位源码)
- c语言xml字符串,C语言的XML解析器
- 好的MongoDB中文文档
- redhat配置centos的yum源
- 创建型模式二:工厂方法模式
- VB.NET在线升级程序源代码,可以独立使用
- Centos下安装MySQL全过程(linux下安装MySQL)
- Android添加受保护广播
- jsp+servlet+mysql的简单使用
- 持续集成工具Jenkins_尚硅谷视频学习笔记
- 高德地图 经纬度查询位置
- Onvif协议客户端开发(8)--球机云台的控制
- 我的日本友人(二):清野先生
- Python 将网易云歌单迁移到QQ音乐
- 【案例】携手捷普 :让流程立于云端,臻于至善
- 【计算机组成与结构】主存储器
- 【交叉编译】海思平台和安霸平台交叉编译
热门文章
- java new string作用_java中直接new String对象?
- network 拦截不到东西是怎么做到的?_都说读中职院校学不到东西,中职学生到底是怎么学习的?...
- 蔡司三坐标_蔡司三坐标测针的安装指南
- 问题 1047: [编程入门]报数问题
- vue-cli3.0使用及配置(部分)
- JAVA获取Classpath根路径的方法
- Visual C++中MFC消息的分类
- webstorm最新破解方法
- git冲突Please move or remove them before you can merge
- mongodb中Gson和java##Bean对象转化类