Dependency injection
- React Native kursu
- Uzman
- Ders 17/47
- 5 dk
Dependency injection öğrenirsin.
Dependency injection
Dependency injection (DI), bir bileşenin bağımlılıklarını dışarıdan almasıdır. Bileşen kendi new UserService() diye çağırmaz; userService prop ya da constructor ile verilir.
Bu sayede bileşen somut sınıfa değil, interface'e bağımlı olur. Testte gerçek servis yerine mock verilir; üretimde gerçek servis. React tarafında Context ile DI yapılır.
React ile DI
React'te DI genellikle Context ile yapılır. Bir RepoContext oluşturulur; gerçek veya mock repository Provider'a verilir. Bileşenler useContext ile repository'yi alır ve doğrudan new çağrısı yapmaz.
Testte Provider'a mock repository verilir; bileşen farkında olmadan mock'la çalışır. Bu, unit test yazmayı kolaylaştırır; gerçek ağ gerekmez.
Uygulama RepoContext oluştur
Bir RepoContext oluştur. createContext kullan, varsayılan değer null olsun. Sonucu export ile dışa aktar. createContext'i react'tan içe aktar.
Başlangıç kodu
import React from 'react';
// createContext'i react'tan içe aktar
// RepoContext'i oluştur
export default RepoContext;Örnek çözüm
import React, { createContext } from 'react';
const RepoContext = createContext(null);
export default RepoContext;Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 DI yoluyla verilen şeye ne denir?
Bir bileşenin DI ile dışarıdan aldığı şeye ____ denir.
Bir bileşenin DI ile dışarıdan aldığı şeye dependency denir.
Açıklama: Dışarıdan verilen şeye dependency denir.
2 DI parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
Context |
Bağımlılık taşıyıcısı |
Provider |
Değeri verir |
useContext |
Değeri alır |
Mock |
Test değeri |
3 React'te DI hangi mekanizma ile yapılır?
- StyleSheet ile Doğru cevap
- useEffect ile
- Context ve Provider
- FlatList ile
Açıklama: Context + Provider ile bağımlılık taşınır.