답변요약
routes와 onGenerateRoute는 모두 Flutter에서 화면 전환을 관리하기 위한 방법이지만 사용 방법과 유연성에서 차이가 있습니다.
routes는 간단한 네비게이션을 설정할 때 사용됩니다. 이는 애플리케이션 내에서 사용할 모든 라우트(경로)를 미리 정의하는 방법입니다. routes 매핑은 애플리케이션이 시작될 때 설정되며, 각 경로에 대해 어떤 위젯을 표시할지 코드를 작성합니다
onGenerateRoute는 더 복잡한 네비게이션 로직을 처리할 때 사용됩니다. 이 메서드는 라우트가 요청될 때 호출되며, 요청된 라우트에 따라 동적으로 위젯을 생성하고 반환할 수 있습니다. 주로 라우트에 데이터 주입을 하거나, 특정 조건에 따라 다른 페이지를 표시해야 할 때 유용합니다
정리하자면 routes는 정적인 화면이동이지만 onGenerateRoute는 동적인 화면이동으로 유연성을 확보할 수 있습니다.
부가설명
두 선언방식은 위 코드와 같다. 아무래도 다음페이지로 넘어갈 때 현재 페이지에서 받은 데이터를 주입할 일이 많기 때문에 onGenerateRoute가 더 자주 사용될 것 같다.
'Flutter' 카테고리의 다른 글
위젯에 Key 를 사용해야하는 이유 (0) | 2024.06.12 |
---|---|
| WWDC 16 | Concurrent Programming with GCD (0) | 2024.06.05 |
데이터 바인딩과 Reactive X (0) | 2024.06.03 |
Hot Observable & Cold Observable (0) | 2024.06.01 |
Stateless Widget 에 const를 붙여야하는 이유 (0) | 2024.05.30 |