Cubit
- Flutter kursu
- Orta seviye
- Ders 17/99
- 4 dk
Cubit ile basit state sınıfı yazmayı öğrenirsin.
Cubit
Cubit, Bloc paketinin daha sade halidir. Event sınıfları yerine doğrudan metot çağrısı yaparsın; emit ile yeni state yayınlarsın.
class SayacCubit extends Cubit<int> {
SayacCubit() : super(0);
void artir() => emit(state + 1);
}Cubit, basit state'ler için Bloc'a göre daha az kod gerektirir.
emit ile state değiştirme
Cubit içinde emit(yeniDeger) çağrısı yeni state'i yayınlar. state özelliği mevcut state'i verir.
void artir() => emit(state + 1);
void azalt() => emit(state - 1);emit çağrıldığında tüm dinleyen widget'lar güncellenir.
Uygulama Cubit ile sayaç yap
SayacCubit sınıfını Cubit<int>'ten türet. super(0) ile başlangıç state'i 0 olsun. artir metodu emit(state + 1) çağırsın. main'de Cubit örneği oluştur, artir çağır ve print('deger: ${cubit.state}') ile yazdır.
Başlangıç kodu
import 'package:flutter_bloc/flutter_bloc.dart';
// SayacCubit, Cubit<int>'ten türetilsin
void main() {
final cubit = SayacCubit();
cubit.artir();
print('deger: ${cubit.state}');
}Örnek çözüm
import 'package:flutter_bloc/flutter_bloc.dart';
class SayacCubit extends Cubit<int> {
SayacCubit() : super(0);
void artir() => emit(state + 1);
}
void main() {
final cubit = SayacCubit();
cubit.artir();
print('deger: ${cubit.state}');
}Beklenen çıktı
deger: 1
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Cubit'in Bloc'tan farkı nedir?
- State yayınlamaz
- Daha yavaş çalışır
- Yalnızca StatelessWidget ile çalışır
- Event sınıfları yerine metot çağrısı kullanır Doğru cevap
Açıklama: Cubit, Bloc gibi event sınıfları tanımlamaz; doğrudan metot çağrısı ile state değiştirir ve emit ile yeni state yayınlar.
2 Cubit içinde emit çağrısını tamamla
class SayacCubit extends Cubit<int> {
SayacCubit() : super(0);
void artir() => ____(state + 1);
}
class SayacCubit extends Cubit<int> {
SayacCubit() : super(0);
void artir() => emit(state + 1);
}
Açıklama: Cubit'te yeni state yayınlamak için emit çağrılır; bu, dinleyen widget'ları günceller.
3 Cubit parçaları
| Kavram | Anlamı |
|---|---|
Cubit |
Basit state yöneten Bloc sınıfı |
emit |
Yeni state yayınlama yöntemi |
state |
Mevcut state değeri |
super(0) |
Başlangıç state'i |