본문 바로가기
IT

[Flutter] GetX, Navigation

by dhui 2024. 1. 14.
반응형

GetX, Navigation

[설정]
1. pubspec.yaml 에 get: .. 추가
2. flutter pub get
3. import 'package:get/get.dart';
4. GetMaterialApp 설정

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
    );
  }
}

 
[사용]
1. 간단 페이지 이동

Get.to(() => NextPage());

2. argument 포함

Get.to(() => NextPage(), arguments: value);

받을 때

var value = Get.arguments;

이동했던 페이지에서 값을 받아올 때

// 받을 페이지
var value =  await Get.to(NextPage());

// 보내는 페이지
Get.back(result: value);

3. 이전페이지 (1개) 삭제 후 이동

Get.off(() => NextPage());

4. 이전페이지 모두 삭제 후 이동

Get.offAll(() => NextPage());

5. Named으로 이동

// 경로 이동
Get.toNamed('/a/b/c1');

경로를 지정해주기 위해 GetMateralApp에 getPages속성을 추가

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
    getPages: [
    	GetPage(
        	name: '/',
            page: () => FirstPage(),
        ),
        GetPage(
        	name: '/two',
            page: () => SecondPage(),
        ),
        GetPage(
        	name: '/three',
            page: () => ThirdPage(),
        ),
        GetPage(
        	name: '/a/b/c1',
            page: () => ABCOnePage(),
        ),
    	],
    );
  }
}

param 포함 이동

GetPage(
    name: '/papa/:param',
    page: () => ParamPage(),
),
Get.toNamed('/papa/1234');
// 1234가 param 값으로 전달

// param 받기
Get.parameters['param']

쿼리로 사용

Get.toNamed('/papa/value?id=123&name=가나다');

// 받기
Get.parameters['param'] => value 값
Get.parameters['id'] => id 값, 즉 123
Get.parameters['name'] => name 값, 즉 침착맨

 

반응형