반응형
  • GetX 를 사용하여 페이지 전환
    • Get.toNamed('호출 페이지')를 사용하면 호출 페이지로 화면이 전환되어 짐
    • ex) Get.toNamed('/event')
    • Navigator.of(context).pushNamed('호출 페이지)')를 사용해도 동일한 결과를 얻을 수 있음
  • toNamed사용시 arguments 전달
    • Navigator를 사용하는 경우 다소 복잡한 절차가 필요함
    • 일단 빠르게 만들기 위해 GetX의 기능을 사용하기로 함
    • Get.toNamed('/event', arguments: {'choice': 'codeA'})와 같은 형태로 호출하면 됨
  • /event페이지에서 arguments사용
    • Navigator를 사용할 경우와 다르게 arguments를 받기 위한 생성자나 변수가 필요하지 않음
    • 해당 페이지내에서 arguments를 사용하고자 하는 위치에서 Get.arguments['choice'] 사용하면 'codeA'를 리턴해줌

샘플 소스

//event_main page
eventEnter(int index) async {
    final result = await Get.toNamed('event_enter', arguments: {'choiceCode' : index == 0 ? 'a' : 'b' });
    if (result == true) {
      setState(() {
        .....;
      });
    }
  }
  
  
  // event_enter page
  class EventEnterView extends StatelessWidget {
  	const EventEnterView({Key? key}) : super(key: key);

  	@override
  	Widget build(BuildContext context) {
    	return Container(
        	.
            .
            .
            child: ElevatedButton(
              onPressed: () async {
                Map<String, dynamic> data = {
                  'choice': Get.arguments['choiceCode'],
					.
                    .
                    .
                };
              }
            .
            .
            .
        );
    }

 

 

 

728x90
반응형

+ Recent posts