파파비의 블로그

플러터, flutter) 다이나믹하게 route 만들기 & route 에러 처리기 본문

개발/flutter

플러터, flutter) 다이나믹하게 route 만들기 & route 에러 처리기

N. Dave 2020. 6. 5. 21:03
반응형

route를 만들어서 화면을 띄우는 방법은

 

MaterialApp에서 route속성으로 route를 지정해두거나,

Navigator에서 push할 때, route를 만들거나 할 수 있다.

 

또 다른 방법이 있는데,

동적으로 만드는 방법이다.

 

MaterialApp에서 onGenerateRoute 라는 속성이 있다.

Navigator를 통해 푸시를 할 때, route가 미리 지정해둔 route 속성에 없으면

onGenerateRoute 에 지정해둔 callback이 실행되어 route가 생성된다.

(pushNamed가 따라서 실행되어야 함, 그냥 푸시는 XX)

 

onGenerateRoute callback에는 setting 이라는 객체가 들어가는데 여러 정보가 포함된다.

이 객체를 통해 다양한 정보에 따라 route를 만들어 둘 수 있도록 설정을 해둔다면 동적으로 route를 만드는게 얼마든지 가능하다.

 

이런식으로 말이다.

 

만약 어떻게 함수 설정을 잘못해두거나 해서, 

onGenerateRoute callback 콜백에서 null이 나가게 된다면 어떻게 될까?

 

그러면 

onUnknowRoute의 callback이 실행된다. (물론 설정을 해두면 말이다). 안해두면 crush가 될 것이다.

이 속성 역시 MaterialApp에 존재하며, 

보통은 웹에서 404에러 페이지 같은 역할을 한다. 앱이 crush되기보다 그냥 잘못된 경로라고 말해주고 돌아가게 하는 것이다

 

또한 onGenerateRoute 가 설정되어 있지 않으면 대신 실행되는 역할을 하기도 한다.

반응형
Comments