Būsenos ir navigacijos valdymas naudojant Navigator „Flutter“.

„Flutter“ Navigator yra galingas įrankis, skirtas valdyti centralizuotą būseną ir puslapio naršymą programoje. Tai leidžia kurti programas su aiškia architektūra ir lengvai naršyti ekranus.

Apibrėžimas Routes

Norėdami pradėti naudoti Navigator, turite apibrėžti routes savo programoje. Routes yra atskiri ekranai, kuriuos naudotojai gali naršyti. Galite apibrėžti routes naudodami MaterialApp ir pateikti rinkinį routes, kur kiekvienas route yra susietas su Widget.

Pavyzdys:

MaterialApp(  
  initialRoute: '/',  
  routes: {  
    '/':(context) => HomePage(),  
    '/second':(context) => SecondPage(),  
  },  
)  

Aukščiau pateiktame pavyzdyje apibrėžėme du routes: '/'(home page) ir '/second'(second page). Galite pridėti tiek routes, kiek reikia.

Naršymas tarp puslapių

Norėdami naršyti tarp puslapių, galite naudoti Navigator metodus. Vienas iš dažniausiai naudojamų metodų yra pushNamed, leidžiantis pereiti į kitą puslapį, nurodant jo pavadinimą route.

Pavyzdys:

// Navigate to the second page
Navigator.pushNamed(context, '/second');

route Be to, norėdami pereiti į kitą ir perjungti puslapius, galite naudoti stūmimo metodą .

Duomenų perdavimas tarp puslapių

Galite perduoti duomenis tarp puslapių naudodami pushNamed metodą su argumentų parametru.

Pavyzdys:

Navigator.pushNamed(  
  context,  
  '/second',  
  arguments: 'Data from the home page',  
);  

Tada galite pasiekti duomenis iš antrojo puslapio naudodami ModalRoute.of ir nustatymų objektus:

class SecondPage extends StatelessWidget {  
  @override  
  Widget build(BuildContext context) {  
    String data = ModalRoute.of(context).settings.arguments;  
    // Use the data here  
  }  
}  

Grįžimas į ankstesnį puslapį

Norėdami grįžti į ankstesnį puslapį, galite naudoti pop metodą Navigator. Tai uždarys dabartinį puslapį ir grįš į ankstesnį krūvos puslapį.

Pavyzdys:

// Go back to the previous page
Navigator.pop(context);

 

Išvada

Navigator „Flutter“ leidžia valdyti centralizuotą būseną ir lengvai naršyti tarp puslapių. Naudodami Navigator galite kurti aiškios architektūros programas ir teikti geresnę naudotojo patirtį naršant tarp ekranų.