Flutter Navigator to potężne narzędzie do zarządzania scentralizowanym stanem i nawigacją po stronach w Twojej aplikacji. Pozwala budować aplikacje o przejrzystej architekturze i łatwej nawigacji między ekranami.
Definiowanie Routes
Aby zacząć korzystać z Navigator, musisz zdefiniować routes w swojej aplikacji. Routes to pojedyncze ekrany, do których użytkownicy mogą nawigować. Możesz zdefiniować routes za pomocą MaterialApp i udostępnić kolekcję plików routes, z których każda route jest mapowana na plik Widget.
Przykład:
MaterialApp(
initialRoute: '/',
routes: {
'/':(context) => HomePage(),
'/second':(context) => SecondPage(),
},
)
W powyższym przykładzie zdefiniowaliśmy dwa routes: '/'(home page)
i '/second'(second page
). Możesz dodać tyle routes, ile potrzebujesz.
Nawigacja między stronami
Aby poruszać się między stronami, możesz użyć Navigator metod. Jedną z powszechnych metod jest pushNamed, która pozwala przejść do innej strony, podając jej nazwę route.
Przykład:
// Navigate to the second page
Navigator.pushNamed(context, '/second');
Dodatkowo możesz użyć metody push, aby przejść do innej route i przełączać się między stronami.
Przekazywanie danych między stronami
Możesz przekazywać dane między stronami za pomocą metody pushNamed z parametrem arguments.
Przykład:
Navigator.pushNamed(
context,
'/second',
arguments: 'Data from the home page',
);
Następnie możesz uzyskać dostęp do danych z drugiej strony za pomocą obiektów ModalRoute.of i settings:
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String data = ModalRoute.of(context).settings.arguments;
// Use the data here
}
}
Powrót do poprzedniej strony
Aby wrócić do poprzedniej strony, możesz użyć metody pop Navigator. Spowoduje to zamknięcie bieżącej strony i powrót do poprzedniej strony w stosie.
Przykład:
// Go back to the previous page
Navigator.pop(context);
Wniosek
Navigator w Flutter pozwala na zarządzanie scentralizowanym stanem i łatwą nawigację między stronami. Korzystając z Navigator, możesz tworzyć aplikacje o przejrzystej architekturze i zapewniać użytkownikom lepsze wrażenia podczas nawigowania między ekranami.