0

大家早上好,

我在使用 expo 和 ui-kitten 时遇到问题。我非常熟悉 react-native-element 作为 react native 的 UI 库。但是我发现 ui-kitten 在 react-native、expo 中具有一些令人惊叹的主题和样式功能,我按照这个链接 https://github.com/akveo/react-native-ui-kitten解释了 https:// justinnoel.dev/2019/12/21/create-universal-react-native-apps-using-expo-for-web-and-ui-kitten

在应用程序的目录中,我有常规的 expo 文件夹和 ui-kitten 组件所依赖的另一个文件夹 src。但是当尝试使用 ui-kitten 词汇表设计我的应用程序时,我被要求安装节点模块内的组件使用的@react-native-community/react-device-info。当我在应用程序中使用 DateFns 来解析和格式化日期时,就会出现问题。安装 @ui-kitten/date-fns 最终会出现此错误“错误 @react-native-community/react-device-info : NativeModule.RNDevice is null”。我通过堆栈跟踪尝试了建议的步骤:

  1. 如果我的 react native 版本 <=0.59,则将 react-device-info 链接到 react-native,但我的是 0.61.4
  2. 如果我使用可可豆荚,则安装豆荚,但我不是。
  3. 重建并重新运行(我使用相同的步骤重建并重新运行并得到相同的结果)。画面在这里在此处输入图像描述

那么我该如何解决这个错误,在我看来,这个错误是来自 expo 的依赖项还是来自 ui-kitten 模块中的错误,或者两者之间的冲突。任何帮助都感激不尽 !

  • 这是我的背景:

    • 主要目标是使用 ui-kitten 和 expo 功能
    • 我在 android 模拟器上运行应用程序
    • 安装 date-fns 后问题开始出现。expo 是否无法从设备检索本机数据,例如日期时间或日历?如何解决。

    提前致谢。

4

2 回答 2

0

UI Kitten 与react-native-device-info. 如果你没有使用 Expo,你应该完全按照错误所说的去做:链接库

如果您这样做,请参阅此包的Expo 实现

于 2020-02-25T07:19:37.870 回答
0

有两种方法可以解决此问题,即退出 expo 或重建另一个应用程序。事实上,expo 不支持设备时间或地理位置等原生模块,我只是忘记了。也就是说,将设备的属性与 expo 一起使用是不可行的。所以第一种方法是通过运行expo弹出来弹出expo。但它跨越边界,expo 有一些关于依赖和部署的设施。因此,最好的选择是使用 ui-kitten 重建另一个 expo 应用程序,但避免使用 react-native 和 ui-kitten 调用设备信息的任何功能,并在部署后添加需要设备功能的应用程序功能,例如相机、地理位置或设备的日期和时间。

于 2020-02-25T15:11:20.263 回答