인프런 커뮤니티 질문&답변

asdf님의 프로필 이미지
asdf

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

GoRouter PushAndRemoveUntil 관련

작성

·

507

0

안녕하세요,

프로젝트에서 GoRouter를 사용해서 페이지들을 구현하고 있는데요,

GoRouter에서는 Navigator.PushAndRemoveUntil에 해당하는 함수가 없을까요?

없다면 비슷하게 구현할 수 있는 방법이 있을까요?

감사합니다.

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

pushAndRemoveUntil은 존재하지 않는걸로 확인됩니다.

플러터 팀에서 이 기능을 만들지 않는 이유 중 하나는 declarative routing에 포커스하기 위함이라고 알려져 있습니다.

declarative하게 이미 라우트 스택을 선언 해두셨다면 pushAndRemoveUntil을 할 필요 없이 원하는 선언에 go를 실행하실 수 있습니다.

감사합니다!

asdf님의 프로필 이미지
asdf
질문자

while (context.canPop()) {
   context.pop();
}
context.push('/main');

로 구현했는데, 작동 자체는 문제 없이 되는 것 같긴 합니다. 의견 참고해서 최대한 .go() 만 사용하도록 수정해보도록 하겠습니다. 감사합니다.

asdf님의 프로필 이미지
asdf

작성한 질문수

질문하기