Native modül nedir?
- React Native kursu
- İleri seviye
- Ders 67/83
- 5 dk
Native modül kavramını öğrenirsin.
Native modül nedir?
Native modül, JavaScript tarafında erişilemeyen platform işlevlerini (kamera, sensör, dosya sistemi) JS'e açan bir köprüdür. Objective-C/Swift (iOS) veya Java/Kotlin (Android) ile yazılır; React Native bunu otomatik olarak JS tarafına bir nesne olarak sunar. NativeModules üzerinden erişilir.
Örnek: cihazın pil seviyesi, Bluetooth durumu veya özel bir third-party SDK native modül olarak gelir. JS, bunları sanki sıradan bir nesneymiş gibi çağırır. Arka planda köprü, çağrıyı UI iş parçacığına iletir, sonuçu JS'e döner. Bu sayede React Native, sınırlarını aşar.
NativeModules üzerinden erişim
React Native, react-native paketinden NativeModules'ü dışa aktarır. Bu nesne, kayıtlı tüm native modülleri taşır. import { NativeModules } from 'react-native' ile içe aktarılır; sonra NativeModules.BatteryLevel gibi erişilir.
Modül adı, native tarafta kayıt sırasında verilir; JS'te aynı ad kullanılır. Çağrılar genellikle asenkron olur; çünkü UI iş parçacığında çalışır ve JS anında dönemez. await veya promise ile beklenir.
Uygulama NativeModules'i içe aktar
Boş dosyayı tamamla. NativeModules'ü react-native'dan içe aktar. export { NativeModules } ile dışa aktar.
Başlangıç kodu
// NativeModules'i react-native'dan içe aktar ve dışa aktarÖrnek çözüm
import { NativeModules } from 'react-native';
export { NativeModules };Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Native modül neyi sağlar?
- Yalnızca animasyonu
- Yalnızca stil tanımlamayı
- Platform işlevlerine JS'ten erişmeyi Doğru cevap
- Yalnızca ağ isteğini
Açıklama: Native modül platform işlevlerine JS'ten erişmeyi sağlar.
2 NativeModules içe aktarma
import { ____ } from 'react-native';
import { NativeModules } from 'react-native';
Açıklama: NativeModules tüm native modülleri taşır.
3 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
NativeModules |
Tüm modülleri taşır |
NativeModules.Battery |
Tek bir modüle erişir |
Objective-C/Swift |
iOS tarafı |
Java/Kotlin |
Android tarafı |