지난 포스트에 이어 GET을 사용했을 때 편리한 점은 무엇이 있을까?
결국 앱은 수많은 페이지가 생기기 마련이다.
물론 Flutter 자체에서도 Navigator 클래스를 제공하긴 한다..
Navigator.push(context,MaterialPageRoute(builder: (context) => NewScreen()));
이렇게 가독성도 떨어지고 작성할게 많긴하다.
그런데 Get을 사용하면 어떻게 될까?
Get.to(() => NewScreen());
이렇게 사용하게 되면 Navigator.push와 똑같은 효과를 가진다!!!!
또한 라우팅 방식에도 여러가지 방법이 있다.
일단 기본적으로 Stack 방식으로 페이지를 쌓는다.
마지막으로 들어온 페이지가 먼저 사라지게 되는 방식이다.
이 개념을 전제로 여러가지 방식 중 많이 사용하는 방법만 정리를 해보자.
이 메소드들은 다음 페이지로 이동하는 메소드이다.
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()),
],
);
}
}
이렇게 페이지에 이름을 부여하고 내가 원하는 페이지로 가는 것이다.
뒤로가기! (스택에서 해당 페이지 삭제)
현재 라우팅 페이지를 삭제하고 내가 지정한 페이지로 이동
모든 라우팅 되어있던 페이지를 삭제하고 이동 -> 얘는 초기화 시킬 때 많이 사용함!!
그 외에도 Get.offUntil(), Get.until()등 여러가지 메소드들이 있다!!