GET 상태관리 2

김상윤·2025년 9월 1일

flutter

목록 보기
12/13

지난 포스트에 이어 GET을 사용했을 때 편리한 점은 무엇이 있을까?

결국 앱은 수많은 페이지가 생기기 마련이다.
물론 Flutter 자체에서도 Navigator 클래스를 제공하긴 한다..

Navigator.push(context,MaterialPageRoute(builder: (context) => NewScreen()));

이렇게 가독성도 떨어지고 작성할게 많긴하다.

그런데 Get을 사용하면 어떻게 될까?

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

이렇게 사용하게 되면 Navigator.push와 똑같은 효과를 가진다!!!!

또한 라우팅 방식에도 여러가지 방법이 있다.

일단 기본적으로 Stack 방식으로 페이지를 쌓는다.
마지막으로 들어온 페이지가 먼저 사라지게 되는 방식이다.

이 개념을 전제로 여러가지 방식 중 많이 사용하는 방법만 정리를 해보자.

1. Get.to() & Get.toNamed()

이 메소드들은 다음 페이지로 이동하는 메소드이다.

Get.to(()=> SecondPage());
Get.toNamed('/secondPage');

to는 그냥 이동하는거라 하고 toNamed는??
이건 이제 내가 원하는 페이지를 정의해놓고 사용할 때 쓴다.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      initialRoute: '/',
      getPages: [
        GetPage(name: '/', page: () => Home()),
        GetPage(name: '/firstPage', page: ()=>FirstNamedPage()),
        GetPage(name: '/secondPage', page: ()=>SecondNamedPage()),
      ],
    );
  }
}

이렇게 페이지에 이름을 부여하고 내가 원하는 페이지로 가는 것이다.

2. Get.back();

뒤로가기! (스택에서 해당 페이지 삭제)

3. Get.off() & Get.offNamed()

현재 라우팅 페이지를 삭제하고 내가 지정한 페이지로 이동

4. Get.offAll() & Get.offAllNamed()

모든 라우팅 되어있던 페이지를 삭제하고 이동 -> 얘는 초기화 시킬 때 많이 사용함!!

그 외에도 Get.offUntil(), Get.until()등 여러가지 메소드들이 있다!!

profile
교육 중!

0개의 댓글