CS/Flutter | Dart
pop 메소드 - maybePop, canPop, WillPopScope
damzzi
2023. 7. 26. 20:31
maybePop
라우트 스택에 해당 페이지밖에 없을 경우 pop되지 않는다
라우트 스택에 되돌아 갈 페이지가 있을 경우 pop처럼 동작한다
화면에 아무 것도 존재하지 않을 때 pop()해서 앱을 끝내버리는 것을 방지하기 위해 사용한다
canPop
print()하면 상태를 출력해준다
false는 되돌아 갈 페이지가 없다는 것을 의미한다
WillPopScope
안드로이드 시스템 뒤로 가기 버튼으로 앱 나가는 것 방지하기 위한 함수
(ios는 뒤로 가기 버튼으로 종료되는 기능이 없다)
return false 하면 뒤로 가기 불가, true하면 가능하다
아래 예시와 같이 특정 작업을 추가해서 그 조건에 해당하는 경우에만 pop() 가능하도록(뒤로 가기로 앱 나갈 수 있도록) 할 수 있다
final canPop = Navigator.of(context).canPop();
return canPop;