GetX, Flutter için geliştirilmiş bir pakettir ve birçok farklı özelliği içerir. Routing özelliği de bunlardan biridir ve uygulamanızın farklı sayfalarına geçiş yapmanızı kolaylaştırır.
Routing özelliğini kullanmak için öncelikle GetX paketini projenize eklemeniz gerekiyor. Bunun için pubspec.yaml
dosyasına aşağıdaki satırı ekleyin:
dependencies: get: ^4.3.8
Daha sonra, uygulamanızda kullanacağınız her sayfa için bir controller oluşturun. Controller, sayfanızın veri akışını yönetir ve sayfaya özgü işlevleri ve değişkenleri tutar.
//home_controller.dart import 'package:get/get.dart'; class HomeController extends GetxController { // controller kodları buraya yazılacak }
Her bir sayfada, controller’ı çağırmak ve sayfayı yönetmek için bir Widget oluşturmanız gerekiyor.
import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:myapp/controllers/home_controller.dart'; class HomePage extends StatelessWidget { final HomeController _controller = Get.put(HomeController()); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('Home')), body: Center( child: Text('Welcome to the home page!'), ), ); } }
Bir sayfadan diğerine geçmek için, Get.to
yöntemini kullanabilirsiniz.
Get.to(() => OtherPage());
Get.to
yöntemi, aynı zamanda argümanları da alabilir. Bu argümanlar, hedef sayfaya veri geçmek için kullanılabilir.
Get.to(() => OtherPage(), arguments: {'name': 'John'});
Hedef sayfada bu verilere erişmek için, Get.arguments
özelliğini kullanabilirsiniz.
class OtherPage extends StatelessWidget { @override Widget build(BuildContext context) { final args = Get.arguments; return Scaffold( appBar: AppBar(title: Text('Other')), body: Center( child: Text('Hello, ${args['name']}!'), ), ); } }