Navigator, ortak bir tanımlayıcı kullanarak uygulamanın herhangi bir bölümden adlandırılmış bir rotaya gitme olanağı sağlar. Bazı durumlard, bağımsız değişkenleri adlandırılmış bir yola iletmemiz gerekebilir.
Örneğin, / kullanıcı yoluna gitmek ve kullanıcı hakkındaki bilgileri bu rotaya iletmek istiyebilirsiniz. Bu görevi ModalRoute.of () yöntemini kullanarak veya MaterialApp veya CupertinoApp yapıcısına sağlanan bir onGenerateRoute () işlevi içinde bağımsız değişkenleri ayıklayabiliriz. Bu yöntem, bağımsız değişkenleri adlandırılmış bir yola nasıl ileteceğini ve bağımsız değişkenlerin ModalRoute.of () ve onGenerateRoute () kullanılarak nasıl okunacağını gösterir.
Örneğin, / kullanıcı yoluna gitmek ve kullanıcı hakkındaki bilgileri bu rotaya iletmek istiyebilirsiniz. Bu görevi ModalRoute.of () yöntemini kullanarak veya MaterialApp veya CupertinoApp yapıcısına sağlanan bir onGenerateRoute () işlevi içinde bağımsız değişkenleri ayıklayabiliriz. Bu yöntem, bağımsız değişkenleri adlandırılmış bir yola nasıl ileteceğini ve bağımsız değişkenlerin ModalRoute.of () ve onGenerateRoute () kullanılarak nasıl okunacağını gösterir.
Gereken Argümanları Tanımlayın
İlk olarak, yeni rotaya geçmeniz gereken argümanları tanımlayın. Bu örnekte, iki parça veri ilettik: baslik ve mesaj. Her iki veri parçasını iletmek için bu bilgileri depolayan bir sınıf oluşturalım.
Kod:
//Herhangi bir nesneyi arguments parametresine iletebilirsiniz.
//Bu örnekte, özelleştirilebilir bir sınıf içeren bir sınıf oluşturalım.
// baslik ve mesaj.
class ScreenArguments {
final String baslik;
final String mesaj;
ScreenArguments(this.baslik, this.mesaj);
}
Bağımsız Değişkenleri Ayıklayan Bir Widget Oluşturma
Ardından, ScreenArguments öğesinden baslik'ı ve mesaj'ı ayıklayan ve görüntüleyen bir widget oluşturalım. ScreenArguments'e erişmek için ModalRoute.of () yöntemini kullanalım.
Önemli: Bu yöntem, geçerli rotayı bağımsız değişkenlerle döndürür.
Kod:
// ModalRoute öğesinden gerekli bağımsız değişkenleri ayıklayan bir widget.
class ExtractArgumentsScreen extends StatelessWidget {
static const routeName = '/extractArguments';
[USER=931120]Override[/USER]
Widget build(BuildContext context) {
// Geçerli ModalRoute ayarlarından bağımsız değişkenleri ayıkla ve yayınla
// ScreenArguments olarak.
final ScreenArguments args =
ModalRoute.off(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text(args.baslik),
),
body: Center(
child. Text(args.mesaj),
),
);
}
}
6. Dersimizin ilk bölümünü de bu şekilde bitirdik umarım düzgün bir şekilde anlatıp bir şeyler öğretebilmişimdir. İyi forumlar.