【发布时间】:2018-08-25 23:21:49
【问题描述】:
我现在做了很多研究,以找出 React Native 项目、CRNA 和 Expo 项目之间的确切区别和权衡。
我的主要指导是this
但是我仍然不明白我使用带有本机代码的 ExpoKit 与带有本机代码的普通 React Native 项目有什么(缺点)优势,除了我不能在普通 React 中使用 Expo API原生项目。
我知道当我在 Expo 中启动一个项目时,我可以将它作为 ExpoKit 项目或 React Native 项目弹出。 在两者中我都可以使用本机代码。在 ExpoKit 中,我仍然可以在正常的 React Native 项目中使用 Expo API,但我不能。
所以我的问题:
如果我可以在 ExpoKit 项目中使用本机代码和所有 Expo API,我对使用 react 本机项目有什么兴趣?在 ExpoKit 项目中,我仍然可以使用所有 Expo API 和所有 React Native API,对吧?!
如果我使用
npm install --save expo安装 expo,我可以在 React Native 项目中使用 Expo API 吗?React Native API 和 Expo API 有什么区别?
【问题讨论】:
-
问题 1:在 React Native 项目中,我可以默认卸载 Expo 项目附带的所有不必要的库,以使我的应用程序更精简。
-
问题 3:我想这与 Expo SDK 总是落后于 React Native 版本的兼容性有关。目前 Expo SDK(版本 25.0.0)支持 React Native 0.52.0,即使当前版本的 React Native 是 0.54。因此从 0.52.0 版本开始添加的功能无法在 Expo SDK 中使用。
-
通常 Expo SDK 在相应的 React Native 发布后 2-3 周内发布。您所指的版本滞后异常:blog.expo.io/sdk-26-delayed-until-end-of-march-d02243e6ae7e
-
注意:ExpoKit 已被弃用。来自 Expo 的文档:“ExpoKit 已被弃用,并且在 SDK 38 之后将删除对 ExpoKit 的支持。我们建议改为退出裸工作流。”
标签: react-native expo