Flutter'da, Navigator uygulamanızda merkezi durumu ve sayfa gezinmesini yönetmek için güçlü bir araçtır. Net mimariye ve ekranlar arasında kolay gezinmeye sahip uygulamalar oluşturmanıza olanak tanır.
tanımlama Routes
kullanmaya başlamak için uygulamanızda Navigator tanımlamanız gerekir. kullanıcıların gezinebileceği ayrı ekranlardır. MaterialApp kullanarak tanımlayabilir ve her birinin bir. routes Routes routes routes route Widget
Örnek:
MaterialApp(
initialRoute: '/',
routes: {
'/':(context) => HomePage(),
'/second':(context) => SecondPage(),
},
)
Yukarıdaki örnekte iki routes: '/'(home page)
ve '/second'(second page
) tanımladık. Gerektiği kadar ekleyebilirsiniz routes.
Sayfalar Arasında Gezinme
Navigator Sayfalar arasında gezinmek için 'nin yöntemlerini kullanabilirsiniz. Sık kullanılan bir yöntem, o sayfanın adını sağlayarak başka bir sayfaya gitmenizi sağlayan pushNamed yöntemidir route.
Örnek:
// Navigate to the second page
Navigator.pushNamed(context, '/second');
route Ayrıca, başka bir sayfaya gitmek ve sayfalar arasında geçiş yapmak için itme yöntemini kullanabilirsiniz .
Sayfalar Arasında Veri Aktarma
Argüman parametresi ile pushNamed yöntemini kullanarak sayfalar arasında veri iletebilirsiniz.
Örnek:
Navigator.pushNamed(
context,
'/second',
arguments: 'Data from the home page',
);
Ardından, ModalRoute.of ve settings nesnelerini kullanarak ikinci sayfadan verilere erişebilirsiniz:
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String data = ModalRoute.of(context).settings.arguments;
// Use the data here
}
}
Önceki Sayfaya Geri Dönmek
Bir önceki sayfaya geri dönmek için pop yöntemini kullanabilirsiniz Navigator. Bu, mevcut sayfayı kapatacak ve yığındaki önceki sayfaya dönecektir.
Örnek:
// Go back to the previous page
Navigator.pop(context);
Çözüm
Navigator Flutter'da merkezileştirilmiş durumu yönetmenize ve sayfalar arasında kolayca gezinmenize olanak tanır. kullanarak Navigator, net mimariye sahip uygulamalar oluşturabilir ve ekranlar arasında gezinirken daha iyi bir kullanıcı deneyimi sağlayabilirsiniz.