Junior — Middle
Projende FutureBuilder widget'ını nasıl kullandığınıza dair bir örnek verebilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Projelerimden birinde, FutureBuilder kullanarak sunucudan asenkron veri yükleme ve bunları arayüzde gösterme işlemini gerçekleştirdim. Örneğin, bir API’den kullanıcı listesi yüklerken:
Future<List<User>> fetchUsers() async {
final response = await http.get(Uri.parse('https://api.example.com/users'));
if (response.statusCode == 200) {
return parseUsers(response.body);
} else {
throw Exception('Kullanıcılar yüklenemedi');
}
}
Widget build(BuildContext context) {
return FutureBuilder<List<User>>(
future: fetchUsers(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Hata: \\${snapshot.error}');
} else if (snapshot.hasData) {
return ListView(
children: snapshot.data!.map((user) => ListTile(title: Text(user.name))).toList(),
);
} else {
return Text('Veri yok');
}
},
);
}
Bu yaklaşım, yükleme durumlarını rahatlıkla yönetmeye ve asenkron işlemin sonucuna göre UI’yi göstermeye olanak tanır.