首页 >> 分享>>Javascript>>react-router or react-router-dom?
react-router or react-router-dom?
最新版的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
该包主要提供如下接口:matchRoutes
、renderRoutes
,官方说明 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
来构建你的应用路由咯。
5jed5s