Navigator push 혹은 popd을 활용할 때 if mounted 혹은 extra를 추가해야만 원하는 대로 페이지가 전환되는 경우가 있다.
onTap: () {
viewModel.deleteStorage();
Navigator.of(context).pop();
if (mounted) {
context.go('/second_page');
}},
*참고: 마운트란?
위젯이나 컴포넌트가 화면에 표시되고 활성화되는 과정이다.
비동기 작업을 수행한 후에 해당 위젯이 아직 화면에 표시되어 있지 않은 경우, 결과를 처리하기 전에 마운트되어 있는지 확인해야한다.
onTap: () {
viewModel.deleteStorage();
Navigator.of(context).pop();
if (mounted) {
context.go('/main_page', extra: 1);
}},