【问题标题】:How to install react-navigation in an ejected expo project?如何在弹出的博览会项目中安装反应导航?
【发布时间】:2019-06-01 23:36:19
【问题描述】:

我正在尝试按照this 页面上的官方安装说明在弹出的 expo 应用程序中安装 react-navigation。在下面的说明中,通过react-native link 的典型添加和链接,还有额外的代码要添加到文件MainActivity.java

现在我的问题是,在安装说明中,MainActivity 类扩展了 ReactActivity 类,但由于我在代码中使用了弹出的 expo 应用程序,它扩展了 DetachActivity,这似乎与安装指令的给定代码不兼容,因此我真的不知道如何解决这个不兼容问题(特别是因为我什至无法通过谷歌找到任何关于它的东西 - 甚至是a dark secret nobody talks about?)。

我尝试了一些方法但没有奏效:

  • 无论如何包含代码都会产生错误[编译错误]error: method does not override or implement a method from a supertype
  • 包含代码,将DetachActivity 替换为ReactActivity 并删除所有覆盖DetachActivity 方法的方法会导致应用崩溃。
  • 不包含任何内容会产生错误 [手机红屏] Native module com.swmansion.gesturehandler.react.RNGestureHandlerModule tried to override versioned.host.exp.exponent.modules.api.components.gesturehandler.react.RNGestureHandlerModule for module name RNGestureHandlerModule. Check the getPackages() method in MainApplication.java, it might be that module is being created twice. If this was your intention, set canOverrideExistingModule=true

我真的很感激一些明智的建议!另外,我对java不是很熟悉,但完全愿意学习一些新东西!

【问题讨论】:

    标签: java android react-native react-navigation expo


    【解决方案1】:

    2019 年 12 月更新

    下面忽略。 如今,Expo 正在将它们的内置依赖项分离为 react-native-gesture-handler。所以我们需要安装它。 Ref

    解决方案

    总结一下,

    返回到您从 expo 中退出项目的提交。并安装react-navigation。 不要将其他人安装为react-native-gesture-handler

    就是这样。

    为什么

    如果您从 expo 中退出项目,这些项目将依赖 ExpoKit,因此无需再次安装已构建的模块。而react-native-gesture-handler 就是这些模块之一。 因此,也不需要react-native link

    Native module com.swmansion.gesturehandler.react.RNGestureHandlerModule tried to override versioned.host.exp.exponent.modules.api.components.gesturehandler.react.RNGestureHandlerModule for module name RNGestureHandlerModule. Check the getPackages() method in MainApplication.java, it might be that module is being created twice. If this was your intention, set canOverrideExistingModule=true.

    此消息可能是由您再次安装RNGestureHandlerModule 引起的。

    【讨论】:

    • 谢谢,这实际上帮助很大!好像我真的把我的项目搞砸了,但可以通过创建一个全新的展览项目来让它工作,从那里弹出并放入我所有的东西。
    • @PeterLehnhardt :)。你不会犯同样的错误。编码愉快!
    • 无法从“node_modules/@react-navigation/native/src/Scrollables.js”解析“react-native-gesture-handler”
    • @Pencilcheck Expo 现在将它们的内置依赖项分离为 react-native-gesture-handler。所以你需要安装它。 Ref
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多