android - React Native Eject 但仍然能够使用 React Native 代码

标签 android ios reactjs react-native

我已经使用 React Native 在 Expo 中构建了一些小原型(prototype),但现在我正处于一个真正的项目中,我现在发现我肯定需要弹出我的项目才能使某些组件正常工作。

我的问题是,一旦弹出,我是否可以编写 React Native 代码而无需再次初始化,我认为这会删除我在 native 级别所做的任何更改?

任何技术或引用都值得赞赏。

最佳答案

你的问题有点令人费解,所以我会尽力回答。

TL;DR:从 Expo 退出后,您将能够编写 React Native 代码,而无需使用 expo-cli init

博览会初始化

当你说“...我可以编写 React Native 代码而不必再次初始化...”我假设你的意思是 exp init(或 expo-cli init) 而不是 react-native init。这些命令仅为您初始化项目,因此您不需要多次运行它们。

有关它们之间有何不同的更多信息,我推荐 this GitHub issue thread .

世博会弹出

Expo allows you to eject your pure-JS project from the Expo iOS/Android clients, providing you with native projects that can be opened and built with Xcode and Android Studio. Those projects will have dependencies on ExpoKit, so everything you already built will keep working as it did before.

这意味着当您弹出您的应用程序时,您将在 Expo 客户端环境之外编写 React Native 代码,这意味着您将可以访问适用于 Android 和 iOS 的 native 代码。即便如此,您将编写普通的 React Native 代码(Javascript 和 JSX)。

此外,一旦您弹出,Expo 就会将 Expo Kit 添加到您的项目中,这将使您能够访问 Expo 的一些功能。有关更多信息,请查看他们的 docs .

关于android - React Native Eject 但仍然能够使用 React Native 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54329125/

相关文章:

ios - 如何使用 Swift 以编程方式粘贴?

javascript - 在事件处理程序中访问 React 组件参数

android - 来自 CursorWindow 的错误 : Couldn't read row 0, col -1。在访问数据之前确保 Cursor 被正确初始化

java - 准备好的查询的奇怪错误不是 SELECT_LONG 类型

android - Android 项目中的库太多?

ios - 如何在 iOS 中将一个 Xcode 项目使用到另一个 Xcode 项目中?

java - Android:如何从 Android 应用程序获取 IP 地址?

iphone - MGTwitterEngine 抛出错误 : g++-4. 2 失败,退出代码为 1

javascript - 模块构建失败 : Error: ENOENT: no such file or directory - React

reactjs - JSX Prop 不应使用 .bind()