You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a. react-router需要3个包(history, react-router-dom, react-router-redux),reach-router只需要一个。
b. 不需要在store配置router相关信息
c. 不需要显示的使用history
// in store config file//react-routerimport{routerMiddleware}from'react-router-redux';importcreateHistoryfrom'history/createBrowserHistory';consthistory=createHistory();constmiddleware=routerMiddleware(history);export{history};//reach/router, nothing
更好用
a. 当你想跳转页面时
// react-routerimport{push}from'react-router-redux';import{PropTypes}from'prop-types';// use itthis.context.store.dispatch(push('/see-you'));FooComponent.contextTypes={store: PropTypes.object,};
最近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
更好用
a. 当你想跳转页面时
b.当你想取url里面的参数时
基本一样的api,学习成本非常低
源码非常简洁,总共就3个文件,900行,如果你想深入理解单页应用的路由是怎么实现的,reach-router,绝对是绝佳的下手资料。
不说了,去看看吧
https://github.com/reach/router
The text was updated successfully, but these errors were encountered: