Navigator.of(context).push와 Navigator.of(context).pop 는
Flutter에서 화면 전환(페이지 이동)을 관리하는 방법입니다.
이 두 메서드는 사용자가 특정 화면에서 다른 화면으로 이동하고 다시 돌아오도록 하는 네비게이션 작업을 수행합니다.
push 메서드는 새로운 화면을 네비게이션 스택에 추가합니다.
새로운 화면이 스택 위에 추가되므로 현재 화면에서 새 화면으로 전환됩니다.
예를 들어, HomeScreen에서 settingScreen으로 이동할 때 Navigator.push를 사용합니다:
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return settingScreen(
maxNumber: maxNumber,
);
},
),
);
위 코드에서:
pop 메서드는 현재 화면을 스택에서 제거하여 이전 화면으로 돌아가게 합니다.
이전 화면이 다시 화면에 표시되며, pop 메서드를 호출할 때 반환 값을 이전 화면에 전달할 수 있습니다.
예를 들어, settingScreen에서 HomeScreen으로 돌아가기 위해 pop을 사용합니다:
Navigator.of(context).pop(
maxNumber.toInt(),
);
위 코드에서:
Navigator.pop은 현재 화면(settingScreen)을 스택에서 제거합니다.
maxNumber.toInt() 값을 pop에 전달하여, 이 값을 이전 화면으로 반환합니다.
HomeScreen의 onSettingIconPressed 메서드에서 이 반환 값을 result 변수에 받아, maxNumber에 업데이트합니다.