您可以在Expo项目中使用https://github.com/tolu360/react-native-google-places等库吗?我假设任何npm库都可以添加,但是像这样的google放置选择器需要安装后步骤来链接本机项目.他们是否支持世博会?
常规Expo项目仅使用JavaScript编写,不支持包含Objective-C或Java的npm包.但是,当您绝对需要使用自定义本机代码时,Expo会提供名为ExpoKit的高级SDK.来自世博会的文件:
通常,Expo应用程序是用纯JS编写的,绝不会"下载"到原生iOS或Android层.这是世博理念的核心,也是使世博会快速有效使用的一部分.
但是,在某些情况下,高级开发人员需要除了Expo提供的开箱即用之外的原生功能.最常见的情况是项目需要React Native Core或Expo SDK不支持的特定本机模块.
您可以"分离"您的Expo项目以创建包含ExpoKit的Xcode和Android Studio项目.然后,您将以与任何其他Xcode或Android Studio项目相同的方式添加自定义Objective-C或Java.
然而,世博会文档也警告了编写自定义本机代码的一些缺点; 许多功能通常可以在JS中很好地实现,使您可以保留标准Expo项目的所有好处.
警告:我们不鼓励大多数开发人员采用这种方式,因为我们相信几乎所有需要做的事情都是通过JS以跨平台的方式完成的.
使用JS编写,您可以最好地利用无线代码部署,并从Expo的持续更新和支持中获益.只有当您对本地代码有特殊要求时才应该这样做,而Expo本身不会做好支持,例如(例如)必须在设备本地进行的专用CPU密集型视频处理.