问:react-router,react-router-native 和 react-router-dom 的区别 答:react-router是核心。 react-router-native 和 react-router-dom是在 react-router 的基础上针对不同运行环境做为额外补充。对于web环境使用 react-router-dom。 对于开发 react-native,使用 react-router-native 即可。
同时也有native版的 react-router-native react-router-native 是 react-router 的native版本,但是其基于 react-native 中比较完善的 经过分析和实现,无法在 Hippy 中直接使用 react-router-native react-router 中的 MemoryRouter,基于纯js实现的路由,不需要依赖于 URL,这使得其可以应用在
react-router-native是用于原生应用的。 react-router是核心部分。react-router-dom提供了浏览器使用需要的定制组件。 react-router-native则专门提供了在原生移动应用中需要用到的部分。 安装 开发web引用只需要安装react-router-dom。
"test": "craco test" }, react-router 简介 react-router 包含 3 个库,react-router、react-router-dom 和 react-router-native react-router 提供最基本的路由功能,实际使用的时候我们不会直接安装 react-router,而是根据应用运行的环境选择安装 react-router-dom(在浏览器中使用)或 react-router-native react-router-dom 和 react-router-native 都依赖 react-router,所以在安装时,react-router 也会自动安装,创建 web 应用。
种可相互替代的路由方案: 使用 umi 内置的 react-router umi内置了react-router-dom,umi-preset-react-native使用alias在编译时将其替换为:react-router-native Link组件在 RN 和 DOM 中存在差异 以下是react-router-native Link组件的属性: Link.propTypes= { onPress: PropTypes.func, login" component={Item} arrow="horizontal"> 登录页 </Link> </List> ); } 没有NavLink组件 react-router-native
componentWillUnmout react-dom 提供render方法 react-router 4.x组成 react-router(核心路由和函数) , react-router-dom(API) , react-router-native
monorepo),这意味者这个仓库里面有若干相互独立的包,分别是: react-router React Router 核心 react-router-dom 用于 DOM 绑定的 React Router react-router-native
ReactTraining/react-router github 三、react-router有3种使用场景 React Router被拆分成三个包:react-router,react-router-dom和react-router-native
monorepo),这意味者这个仓库里面有若干相互独立的包,分别是: react-router React Router 核心 react-router-dom 用于 DOM 绑定的 React Router react-router-native
这两个平台的监听和跳转是不一样的,所以现在React-Router下面有好几个包了: react-router:核心逻辑处理,提供一些公用的基类 react-router-dom:具体实现浏览器相关的路由监听和跳转 react-router-native React-Router为了同时支持浏览器和React-Native,他分拆成了三个包react-router核心包,react-router-dom浏览器包,react-router-native支持
从 v4开始分为了两个库 react-router 核心库 react-router-dom 用来操作 DOM 当然还有react-router-native 这可以理解成在架构上做了一些调整,通用的和平台无关的能力放在一个库
react-router-native: 基于react-router,类似react-router-dom,加入了react-native运行环境下的一些功能。
处理一些共用的逻辑 react-router-config:是React-Router的配置处理,我们一般不需要使用 react-router-dom:浏览器上使用的库,会引用react-router核心库 react-router-native vue-router里面的current变量在React里面是用Context API实现的,而且放到了核心库react-router里面,一些跟平台相关的组件则放到了对应的平台库react-router-dom或者react-router-native react-router-native是react-native使用的包,里面包含了android和ios具体的项目。
核心库是 react-router. react-router-dom 是在浏览器中使用的,react-router-native是在 rn 中使用的。 如果不理解,直接看一下源码就懂了。
react-router 中管理的react-router4 开始, 拆分为了两个包 react-router-dom 和 react-router-nativereact-router-dom 是在浏览器中使用路由react-router-native
react-router //V5 下 npm i react-router-dom react-router为核心库,运行于浏览器端就用react-router-dom,如果是native端 ,那就用react-router-native
事实上,react-router并不是一个库,塔包含3个库:react-router、react-router-dom和react-router-native,分别用来适配浏览器环境和手机原生环境。 并且,react-router-dom和 react-router-native都需要依赖react-router,所以在安装时会自动安装react-router。
react-router-native:专为移动应用而设计。 react-router-core:可以用于核心应用的任何地方。
── registerServiceWorker.js └── yarn.lock React Router库包含三个包: react-router, react-router-dom, 和 react-router-native 如果你在开发一个网站,你应该使用 react-router-dom,如果你在移动应用的开发环境使用React Native,你应该使用 react-router-native。
ReactRouter将路由拆成了几个包: react-router负责通用的路由逻辑,react-router-dom负责浏览器的路由管理,react-router-native负责react-native