FITURE

If you can fight, fight.

首页 >> 分享>>Javascript>>react-router or react-router-dom?

react-router or react-router-dom?

Posted by fiture / 2017年03月21日 / Javascript

最新版的React Router(v4)有以下几个发行包,可能从之前版本用过来的同学会有一些疑惑,我到底该用哪一个啊?

react-router

React Router 的核心公用组件和方法。具体如下: MemoryRouter Prompt Redirect Route Router StaticRouter Switch matchPath withRouter

react-router-dom

React Router for WEB,一般我们前端就用这个包来进行WEB开发了,提供包括上述react-router相关的组件和方法以外还有如下接口:
BrowserRouter HashRouter Link NavLink

react-router-native

React Router 给react-native提供额外路由相关支持,包括:NativeRouter Link DeepLinking AndroidBackButton,感兴趣的同学可以访问这里 https://reacttraining.com/react-router/native/guides/quick-start 研究下。

react-router-redux

最新的版本还在测试版本中,如果你项目里面同时用到了react-router 和 redux,然后想把各种路由状态存储在app的状态里面,就可以用这个库了。这个库也辅助的,操作路由切换,如: dispatch( push('/xx') )

react-router-config

该包主要提供如下接口:matchRoutesrenderRoutes,官方说明 https://github.com/ReactTraining/react-router/tree/master/packages/react-router-config

从React Router V4 开始,APP路由配置就不需要集中到一个地方了。但有些情况下我们还是需要集中配置一些路由,这个包就是来辅助做这些的,它尝试建立一种共享的模式,让上层应用基于它来构建这些路由配置。

综上,再也不用纠结该用哪个包了,每个包都有些什么了,如果不是做native相关的就用 react-router-dom,如果你是做react-native相关的应用就毫不犹豫的选择用 react-router-native来构建你的应用路由咯。

发表评论

电子邮件地址不会被公开。 必填项已用*标注