플러터로 어플을 만들어보고 싶었다. (내 궁극적인 목표ㅠㅠㅠ)
그래서 난 준비단계로 클론코딩을 하기로 마음먹었다.
개남님 인스타그램 클론코딩 링크
개남님의 유튜브를 보고 따라하기로 마음먹었는데 듣다보니 getx 관련영상도 봐야했다.(ㄹㅇ 귀찮다고 생각했.)
getx 대충 나도 알긴안다. 뭐.. 엄청 편한거라고 했다. 코린이라 사실 자세하게는 잘 모른다.
그래서 이번에 개남님것을 듣고 알아가며 좀 정리하기로 마음먹었다.
첫 포스팅이라 정리하는게 많이 어리숙할 것이라고 예상한다. 그래도 내가 나중에 볼때나, 다른분들이 볼때 잘 이해되길 바라며 정리하려고 한다.
(근데 아마 제가 이해한거 정리하는형식으로 옮겨놓을거라 봐도 이해가 잘 안되실 수도 있슴다..ㅎㅎ)
1. 일반적인 라우팅
RaisedButton(
child: Text("일반적인 라우트"),
onPressed: () {
// Navigator.of(context).push(
// MaterialPageRoute(
// builder: (_) => FirstPage(),
// ),
// );
Get.to(FirstPage());
},
),
RaisedButton(
child: Text("다음페이지 이동"),
onPressed: () {
Get.to(SecondPage());
},
),
RaisedButton(
child: Text("뒤로 이동"),
onPressed: () {
//Navigator.of(context).pop();
Get.back();
},
),
RaisedButton(
child: Text("홈 이동"),
onPressed: () {
//Get.to(Home());
Get.offAll(Home());
// Navigator.of(context).pushAndRemoveUntil(
// MaterialPageRoute(builder: (_) => Home()),
// (route) => false);
},
),
GetX를 쓰지 않으면 Navigator를 써야하는데 저런 말도 안되는 수식을 써야한다.
(개발자 선배님들 존경함다..)
겟으로 쓰면 한줄이면 끝!
2. Named 라우팅
Widget build(BuildContext context) {
return GetMaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
initialRoute: "/",
getPages: [
GetPage(
name: "/",
page: () => Home(),
transition: Transition.zoom,
),
GetPage(
name: "/first",
page: () => FirstNamedPage(),
transition: Transition.zoom,
),
GetPage(
name: "/second",
page: () => SecondNamedPage(),
transition: Transition.zoom,
),
GetPage(
name: "/next",
page: () => NextPage(),
transition: Transition.zoom,
),
GetPage(
name: "/user/:uid",
page: () => UserPage(),
transition: Transition.zoom,
),
],
);
}
main 페이지에 페이지마다 이름을 설정했다.
RaisedButton(
child: Text("다음페이지 이동"),
onPressed: () {
Get.offNamed("/second");
},
),
RaisedButton(
child: Text("뒤로 이동"),
onPressed: () {
Get.back();
},
),
RaisedButton(
child: Text("홈 이동"),
onPressed: () {
Get.offAllNamed("/");
},
),
이것만 옮겼는데도 벌써 현기증이 온다ㅠㅠㅠ...
필요한부분들 또 정리해서 포스팅하겠습니다!!!!!!