我已经用React Native在Expo中构建了一些小原型,但现在我正在进行一个真正的项目,我现在发现我肯定需要弹出我的项目才能让某些组件工作。
我的问题是,一旦我弹出,我是否可以在不必再次初始化的情况下编写React Native Code,我认为这将擦除我在本机级别所做的任何更改?
欢迎使用任何技术或参考资料。
你的问题有点令人困惑,所以我会尽力回答。
TL;DR:从Expo弹出后,您将能够编写React Native代码,而无需使用expo-cli init
。
Expo Init
当你说"…我能在不必再次初始化的情况下编写React Native Code吗…"时,我认为你指的是exp init
(或expo-cli init
),而不是react-native init
。这些命令只是为您初始化项目,因此您不需要多次运行它们。
有关它们之间差异的更多信息,我推荐这个GitHub问题线程。
Expo Eject
Expo允许您从Expo iOS/Android客户端弹出纯JS项目,为您提供可以使用Xcode和Android Studio打开和构建的本地项目。这些项目将依赖于ExpoKit,所以您已经构建的所有内容都将像以前一样继续工作。
这意味着当你弹出应用程序时,你将在Expo客户端环境之外编写React Native代码,这意味着你可以访问Android和iOS的Native代码。即便如此,您仍将编写正常的React Native代码(Javascript和JSX)。
此外,一旦您退出,Expo将在您的项目中添加Expo Kit,这将使您可以访问Expo的一些功能。有关更多信息,请查看他们的文档。