Как установить реактивную навигацию в выставленном выставочном проекте? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь установить react-navigation в своем извлеченном приложении expo, следуя официальным инструкциям по установке на этой странице. В приведенных ниже инструкциях типичное добавление пакета и связывание через react-native link есть дополнительный код, который будет добавлен в файл MainActivity.java.

Теперь моя проблема состоит в том, что в инструкциях по установке класс MainActivity расширяет класс ReactActivity, , но, поскольку я использую приложение exjected в своем коде, оно расширяет класс DetachActivity, который кажется несовместимым с данным кодом инструкции по установке, и поэтому я действительно не знаю, как решить эту проблему несовместимости (тем более, что я даже не могу найти что-либо об этом через Google - это даже темный секрет, никто говорит о ?).

Некоторые подходы, которые я пробовал, но не работали:

  • Включение кода в любом случае приводит к ошибке [ошибка компиляции] 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, но полностью готов изучить кое-что новое!

1 Ответ

1 голос
/ 02 июня 2019

Решение

Подводя итог,

Вернитесь к коммиту, который вы выбросили из выставки. И установить 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 вы установили снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...