CodeBlanks Logo Icon CodeBlanks

NativeMethods

NativeMethods ile native çağrı öğrenirsin.

NativeMethods

NativeMethods, native modüllerdeki işlevleri çağırmanın standart yoludur. Bir native modülün method'ları, JS tarafında sıradan işlev gibi görünür. Örnek: NativeModules.Battery.getLevel() bir promise döner; await ile pil seviyesi alınır.

Çağrı sırasında parametreler JS'ten native'e köprü ile iletilir. Tip dönüşümü otomatik yapılır: JS sayısı native sayıya, JS dizesi native dizeye çevrilir. Ancak karmaşık nesneler her zaman desteklenmez; bu yüzden parametreler basit tutulur.

Promise döner

Native method çağrıları genellikle bir Promise döner. Bu yüzden çağrı await ile beklenir. Örnek: const level = await NativeModules.Battery.getLevel(). level, pil yüzdesini taşır.

Native methodu senkron yapmak da mümkündür ama önerilmez; çünkü UI iş parçacığını bloklamak animasyonları bozar. Asenkron kalıp, hem UI akıcılığını korur hem de hata yönetimini kolaylaştırır. try/catch ile hatalar yakalanır.

Uygulama Battery seviyesi oku

getBatteryLevel işlevini tamamla. NativeModules'ü react-native'dan içe aktar. const level = await NativeModules.Battery.getLevel() ile seviyeyi oku ve döndür.

Başlangıç kodu

App.js
import { NativeModules } from 'react-native';

export async function getBatteryLevel() {
  // Battery modülünden seviyeyi oku
}

Örnek çözüm

App.js
import { NativeModules } from 'react-native';

export async function getBatteryLevel() {
  const level = await NativeModules.Battery.getLevel();
  return level;
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 NativeMethods parçalarını eşle

Kavram Anlamı
NativeModules.Battery Modül adı
.getLevel() Method çağrısı
await Promise bekler
promise Asenkron sonuç

2 Native method neden promise döner?

  • Çünkü UI iş parçacığında çalışır, anında dönemeyebilir
  • Çünkü promise kullanmak zorunludur
  • Çünkü modül asenkron değildir
  • Çünkü JS senkron çalışamaz Doğru cevap

Açıklama: Native method UI iş parçacığında çalışır; bu yüzden promise döner.

3 await ile bekle

Soru
const level = ____ NativeModules.Battery.getLevel();
Cevap
const level = await NativeModules.Battery.getLevel();

Açıklama: await promise sonuçunu bekler.

İleri seviye bölümündeki tüm dersler