【问题标题】:How to use Expo libraries in a react native bare app?如何在反应原生裸应用程序中使用 Expo 库?
【发布时间】:2022-02-20 00:19:05
【问题描述】:

我已经创建了一个带有 expo 的应用程序,但我必须将其更改为 React Native 裸应用程序。 由于应用程序规模庞大,等待构建是一种负担。

问题是我有一些依赖,比如

"@expo/vector-icons": "^10.0.6",
"@react-native-community/netinfo": "^4.6.0",
"expo": "^35.0.0",
"expo-barcode-scanner": "^7.0.0",
"expo-font": "^7.0.0",
"expo-image-manipulator": "^7.0.0",
"expo-image-picker": "^7.0.0",

我想在新创建的不依赖 expo 的 React Native 应用程序中使用它们。

有可能吗?如何实现?

我已经测试过,但没有得到任何结果,有一个警告关于

可能出现未处理的 Promise Rejection 错误:expo-file-system.downloadAsync 的方法或属性在 android 上不可用

【问题讨论】:

    标签: reactjs react-native


    【解决方案1】:

    Expo SDK 更新 >= 43

    从 expo SDK 43 开始,react-native-unimodules 已弃用,不应使用。相反,请使用 npx install-expo-modules 设置您的项目,然后安装任何所需的 Expo 库。

    对于 Expo SDK

    是的,可以通过react-native-unimodules 安装和配置它以在 react native 裸应用程序中使用其他 expo 模块。

    Expo link 这个链接很好地解释了如何在裸反应原生应用程序中使用 expo 库。

    即使您可以参考expo-camera Expo camera 模块,在安装过程中他们已经说明了如何在裸反应本机应用程序中使用它。大多数博览会包都可用于裸反应本机应用程序。请检查一下。

    如有任何疑问,请随时提出。

    【讨论】:

      【解决方案2】:

      react-native-unimodules 已弃用,您现在不需要安装 react-native-unimodules

      您只需将expo-modules 添加到您现有的react-native-cli 应用程序中,如下所示:

      1. npx install-expo-modules
      2. cd ios && pod install

      如果在安装过程中发现任何错误,可以参考指南:https://docs.expo.dev/bare/installing-expo-modules/

      现在您可以在您的应用中添加您喜欢的任何expo-module(可在此处获取:https://docs.expo.dev/versions/latest/)。有一些不错的库,例如 expo-notificationsexpo-hapticsexpo-av

      如果您担心应用程序的大小,它不会显着增加。这是一个参考:

      expo 包是轻量级的,应用下载大小仅增加约 0.2MB,iOS 上的应用安装大小仅增加约 0.45MB。 https://blog.expo.dev/embracing-expo-modules-in-your-react-native-projects-cd8ed4cbec3

      【讨论】:

        【解决方案3】:

        react-native-unimodules 已在 sdk 43 中弃用,若要在裸项目中使用 expo-modules,您需要先配置 expo。

        更多详情here

        【讨论】:

          猜你喜欢
          • 2020-03-10
          • 2021-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多