In Flutter Navigator on tehokas työkalu keskitetyn tilan ja sivunavigoinnin hallintaan sovelluksessasi. Sen avulla voit rakentaa sovelluksia, joilla on selkeä arkkitehtuuri ja helppo navigointi näyttöjen välillä.
Määritteleminen Routes
Aloittaaksesi käytön Navigator sinun on määritettävä routes sovelluksessasi. Routes ovat yksittäisiä näyttöjä, joihin käyttäjät voivat navigoida. Voit määrittää routes käyttämällä MaterialAppia ja tarjota kokoelman routes, jossa jokainen route on kartoitettu Widget.
Esimerkki:
MaterialApp(
initialRoute: '/',
routes: {
'/':(context) => HomePage(),
'/second':(context) => SecondPage(),
},
)
Yllä olevassa esimerkissä olemme määrittäneet kaksi routes: '/'(home page)
ja '/second'(second page
). Voit lisätä niin monta routes kuin tarvitset.
Liikkuminen sivujen välillä
Voit navigoida sivujen välillä käyttämällä Navigator menetelmiä. Yksi yleinen menetelmä on pushNamed, jonka avulla voit siirtyä toiselle sivulle antamalla sen nimen route.
Esimerkki:
// Navigate to the second page
Navigator.pushNamed(context, '/second');
Lisäksi voit käyttää push-menetelmää siirtyäksesi toiselle route ja vaihtaaksesi sivujen välillä.
Tietojen välittäminen sivujen välillä
Voit siirtää tietoja sivujen välillä käyttämällä pushNamed-menetelmää argumenttiparametrin kanssa.
Esimerkki:
Navigator.pushNamed(
context,
'/second',
arguments: 'Data from the home page',
);
Sitten voit käyttää tietoja toiselta sivulta käyttämällä ModalRoute.of- ja asetusobjekteja:
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
String data = ModalRoute.of(context).settings.arguments;
// Use the data here
}
}
Paluu edelliselle sivulle
Voit palata edelliselle sivulle käyttämällä pop-menetelmää Navigator. Tämä sulkee nykyisen sivun ja palaa pinon edelliselle sivulle.
Esimerkki:
// Go back to the previous page
Navigator.pop(context);
Johtopäätös
Navigator Flutterissa voit hallita keskitettyä tilaa ja navigoida sivujen välillä helposti. Käyttämällä -sovellusta Navigator voit rakentaa sovelluksia, joilla on selkeä arkkitehtuuri ja tarjota paremman käyttökokemuksen navigoidessasi näytöstä toiseen.