URL parametreleri
- Flutter kursu
- Orta seviye
- Ders 69/99
- 4 dk
Yol parametreleri ve query string okumayı öğrenirsin.
Yol parametreleri
GoRoute path'inde :id gibi iki nokta ile başlayan adlar yol parametresi tanımlar. builder'a gelen state nesnesinin pathParameters özelliği ile bu değere erişirsin.
GoRoute(
path: '/kullanici/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return KullaniciScreen(id: id);
},
)Query parametreleri
URL'deki ?anahtar=deger biçimindeki sorgu dizelerine state.queryParameters ile erişirsin. Örneğin /ara?kelime=elma yolunda state.queryParameters['kelime'] 'elma' değerini verir.
GoRoute(
path: '/ara',
builder: (context, state) {
final kelime = state.queryParameters['kelime'] ?? '';
return AraScreen(kelime: kelime);
},
)Uygulama Yol parametresi ile ekran
/kullanici/:id path'ine sahip bir GoRoute tanımla. builder içinde state.pathParameters['id'] değerini al ve KullaniciScreen(id: id) döndür. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:flutter/widgets.dart';
import 'package:go_router/go_router.dart';
class KullaniciScreen extends StatelessWidget {
final String id;
const KullaniciScreen({super.key, required this.id});
@override
Widget build(BuildContext context) => const SizedBox.shrink();
}
// /kullanici/:id path'ine sahip GoRoute tanımla
// builder içinde yol parametresini oku
// KullaniciScreen'e id parametresi olarak ver
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:flutter/widgets.dart';
import 'package:go_router/go_router.dart';
class KullaniciScreen extends StatelessWidget {
final String id;
const KullaniciScreen({super.key, required this.id});
@override
Widget build(BuildContext context) => const SizedBox.shrink();
}
final route = GoRoute(
path: '/kullanici/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return KullaniciScreen(id: id);
},
);
void main() {
print('hazir');
}Beklenen çıktı
hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 GoRoute path'indeki ':id' neyi belirtir?
- Bir sabit değer
- Bir widget adı
- Bir query parametresi
- Bir yol parametresi Doğru cevap
Açıklama: İki nokta ile başlayan adlar yol parametresidir; URL'deki o konumdaki değer state.pathParameters ile okunur. Sabit değer değildir, widget adı değildir, query parametresi '?' ile başlar.
2 Yol parametresini oku
GoRoute(
path: '/kullanici/:id',
builder: (context, state) {
final id = state.____!;
return KullaniciScreen(id: id);
},
)
GoRoute(
path: '/kullanici/:id',
builder: (context, state) {
final id = state.pathParameters['id']!;
return KullaniciScreen(id: id);
},
)
Açıklama: Yol parametreleri state.pathParameters ile okunur. queryParameters '?' ile gelen değerler içindir, params ve route GoRouterState'in özellikleri değildir.
3 Parametre parçaları
| Kavram | Anlamı |
|---|---|
:id |
yol parametresi tanımı |
state.pathParameters |
yol parametreleri |
state.queryParameters |
sorgu parametreleri |
?kelime=elma |
query string |