Flutter GetX – Named routes

Named routes (isimlendirilmiş rotalar), uygulamanızdaki herhangi bir sayfaya erişmek için kullanabileceğiniz bir yoldur.

Rotaları tanımlamak için GetMaterialApp kullanın:

void main() {
  runApp(
    GetMaterialApp(
      unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage()),
      initialRoute: '/',
      getPages: [
        GetPage(name: '/', page: () => MyHomePage()),
        GetPage(name: '/second', page: () => Second()),
      ],
    )
  );
}

Şimdi sayfalar arasında geçmek için Get.toNamed() metodunu kullanabilirsiniz.

Get.toNamed('/second');

İsterseniz, named routes’ları parametrelerle de kullanabilirsiniz.

void main() {
  runApp(
    GetMaterialApp(
      unknownRoute: GetPage(name: '/notfound', page: () => UnknownRoutePage()),
      initialRoute: '/',
      getPages: [
        GetPage(name: '/', page: () => MyHomePage()),
        GetPage(name: '/second', page: () => Second()),
        GetPage(name: '/third/:id', page: () => ThirdPage()),
      ],
    )
  );
}

Bu kodda ‘/third/:id’ rotası, id parametresi ile ThirdPage widget’ına yönlendirme yapar. Bu parametreyi Get.toNamed() metodunda kullanabilirsiniz:

Get.toNamed('/third/123');

id parametresini ThirdPage widget’ı içerisinde karşılamak için:

Get.parameters['id']

İsimlendirilmiş Rotalara Veri Gönderimi

Argümanlar için istediğinizi göndermeniz yeterli. Get, burada bir Map, List ve hatta bir sınıf örneği olan her şeyi kabul eder.

Get.toNamed("/second", arguments: 'Get is the best');
print(Get.arguments);

Dinamik URL Linkleri

Tıpkı Web’deki gibi gelişmiş dinamik url’ler sunun.

Get.offAllNamed("/second?device=phone&id=1&name=Taner");
print(Get.parameters['id']);
// out: 1
print(Get.parameters['name']);
// out: Taner

veya:

var parameters = <String, String>{"flag": "true","country": "turkiye",};
Get.toNamed("/third/1", parameters: parameters);
print(Get.parameters['id']);
print(Get.parameters['flag']);
print(Get.parameters['country']);