React Native импортирует React Navigation - PullRequest
0 голосов
/ 10 декабря 2018

Я следую всем инструкциям по установке React Navigation для Android.

Сначала «npm install --save response-navigation», «npm install --save Reaction-native-жест-обработчик».«реакция-нативная ссылка, реакция-нативный-жест-обработчик» и, наконец, обновленный мой MainActivity.java

Вот мой MainActivity.java:

import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;

public class MainActivity extends ReactActivity {

/**
 * Returns the name of the main component registered from JavaScript.
 * This is used to schedule rendering of the component.
 */
@Override
protected String getMainComponentName() {
    return "InstagramClone";
}

@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegate(this, getMainComponentName()) {
  @Override
  protected ReactRootView createRootView() {
   return new RNGestureHandlerEnabledRootView(MainActivity.this)
  }
};
}
}

Это ошибка, которую я получил:

  • Что пошло не так: не удалось создать родительский каталог 'D: \ React Native Projects \ InstagramClone \ node_modules \ реагировать-нативный-жест-обработчик \ android \ build' при создании каталога 'D: \ React Native Projects \ InstagramClone \ node_modules \ реагировать-нативный-жест-обработчик \ android \ build \ промежуточный процесс \ check-manifest \ debug '

Ответы [ 3 ]

0 голосов
/ 06 апреля 2019

Вам нужно отдельно установить response-native-жест-обработчик npm.Они создают отдельный пакет npm для обработки и распознавания касаний и жестов.

Шаг 1.

npm i react-native-gesture-handler 

Шаг 2.

react-native link react-native-gesture-handler 

Шаг 3. (необязательно)

Если шаг 2 не работает должным образом, код не настроен должным образом, поэтому мы вручную настраиваем его, используя шаг 3

Чтобы завершить установку обработчика реагировать на родные жесты для Android, убедитесь, чточтобы внести необходимые изменения в MainActivity.java:

import com.facebook.react.ReactActivity;  import com.facebook.react.ReactActivityDelegate;  import com.facebook.react.ReactRootView;  import
 com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;

public class MainActivity extends ReactActivity { 
@Override protected
 String getMainComponentName() { return "Example"; } 

@Override 
protected ReactActivityDelegate createReactActivityDelegate() { 
return new ReactActivityDelegate(this, getMainComponentName()) { 

@Override 
protected ReactRootView createRootView() { 
return new RNGestureHandlerEnabledRootView(MainActivity.this);  } 
 }; 
 } }

Никаких дополнительных шагов для iOS не требуется.

Пожалуйста, обратитесь к следующему документу для получения дополнительной информации: -

https://reactnavigation.org/docs/en/getting-started.html#installation

https://www.npmjs.com/package/react-native-gesture-handler/v/1.0.0-alpha.34?activeTab=readme

https://kmagiera.github.io/react-native-gesture-handler/docs/getting-started.html

0 голосов
/ 29 августа 2019

Если вы начали свой проект с expo, просто установите react-native-gesture-handler.Но если ваш прогноз запустился react-native cli, вы должны сначала установить react-native-gesture-handler, а затем связать его со всеми пакетами командой:

react-native link
0 голосов
/ 20 февраля 2019

если у вас был link react-native-gesture-handler, проблем быть не должно, или вы попробуете react-native link, это будет ссылка на весь пакет.Или, если вы все еще сталкиваетесь с той же проблемой, сначала удалите приложение в эмуляторе, затем снова запустите React-native run-android

...