CodeBlanks Logo Icon CodeBlanks

Özet - Offline destek

NetInfo, cache ve sync'i birleştirerek bir offline-first uygulama yazarsın.

Özet - Çevrimdışı

Bu grupta NetInfo ile ağ durumu sorgulamayı, çevrimdışı önbellek kurmayı, senkronizasyonu tetiklemeyi, çatışma çözümünü ve yeniden deneme kuyruğunu gördün. Bir çevrimdışı uygulamanın çekirdeği bu beş parçadan oluşur.

Özette ağ durumu, önbellek ve senkronizasyonu tek bir uygulamada birleştireceğiz. Bu üç parça together gerçek bir çevrimdışı akış oluşturur. Şimdi bunları birleştirelim.

Uygulama Özet - Ağ durumunu sorgula

Boş checkOnline işlevini tamamla. const state = await NetInfo.fetch() çağır. return state.isConnected ile bağlantı durumunu döndür.

Başlangıç kodu

App.js
import NetInfo from '@react-native-community/netinfo';

export async function checkOnline() {
  // ağ durumunu sorgula ve isConnected döndür
}

Örnek çözüm

App.js
const state = await NetInfo.fetch();
return state.isConnected;

Uygulama Özet - Çatışmayı çöz

resolveConflict işlevini tamamla. Parametre olarak local ve server alır. if (local.updatedAt > server.updatedAt) return local; else return server yaz.

Başlangıç kodu

App.js
export function resolveConflict(local, server) {
  // last-write-wins ile çatışmayı çöz
}

Örnek çözüm

App.js
if (local.updatedAt > server.updatedAt) return local;
return server;

Soru ve cevaplar

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

1 Ağ durumu işlevini yaz

Soru
const state = await NetInfo.____();
Cevap
const state = await NetInfo.fetch();

Açıklama: fetch anlık ağ durumunu verir.

2 Akış parçasını rolüne eşle

Kavram Anlamı
NetInfo.fetch() Ağ durumu
AsyncStorage.getItem Önbellek okur
syncQueue Kuyruğu gönderir
resolveConflict Çatışmayı çözer

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