Aradığım bi'şeyleri bulmak için buraya kadar geldim ama bir türlü bulamadım...

react-native-gesture-handler
npm install @react-navigation/native
<

KURULUM

Aslında parça parça bir kurulum yaparak sadece ihtiyacımız olanları kullanabilirdik. Mesela yandan açılan bir menü ihtiyacımız yoksa bunun paketini projemize kurmaya gerek yoktu. Ama bu dokümanda her şeyi kuracağız.

Dokümantasyondaki gibi ayrı ayrı: yarn add @react-navigation/native yarn add react-native-screens react-native-safe-area-context yarn add @react-navigation/native-stack yarn add @react-navigation/bottom-tabs yarn add @react-navigation/drawer yarn add react-native-gesture-handler react-native-reanimated ya da hepsi tek seferde: yarn add @react-navigation/native react-native-screens react-native-safe-area-context @react-navigation/native-stack @react-navigation/bottom-tabs @react-navigation/drawer react-native-gesture-handler react-native-reanimated kurulum yapabiliriz.

Projenin en kök dosyasına (index.js? App.js?) gidip sayfanın en başına react-native-gesture-handler import'unu yapmamız gerekiyor. Dokümantasyon bu adımı atlamamamız için bizi uyarıyor. Atlarsanız development aşamasında bi'şey olmasa bile production aşamasında sorunlarla karşılaşabilirsiniz, diyor. import 'react-native-gesture-handler';

babel.config.js dosyasına şu eklemeyi yapıyoruz:

module.exports = {
  ...
  plugins: [
    ...
    'react-native-reanimated/plugin',
  ],
};

Android için Hermes'i aktif ediyoruz. android/app/build.gradle dosyasında şu değişikliği yapın:

project.ext.react = [
  enableHermes: true
]

Yine Android için MainApplication.java dosyasında şu eklemeleri uygun yerlere yapıyoruz:

import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
...
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
...

  @Override
  protected String getJSMainModuleName() {
    return "index";
  }

  @Override
  protected JSIModulePackage getJSIModulePackage() {
    return new ReanimatedJSIModulePackage();
  }
};
...

Terminalde kök klasördeysek cd android deyip android klasörüne giriyoruz. ./gradlew clean komutunu veriyoruz ve projenin yeni ayarlarlarla yeniden derlenmesini sağlıyoruz. Sonra kök klasöre cd .. diyerek dönebiliriz.

Buraya kadar Android kurulumlarını tamamlamış olduk. IOS kurulumları için pod install komutu vermek yeterli.

Merhaba Dünya