🙄
NavigationLinkのクロージャーが呼ばれるとき
List(time, id: \.self) { time in
NavigationLink(time.description) {
// 遷移先
TimerRouter.initializeTimerModule(with: time)
.background(.white)
}
}
NavigationLinkのクロージャーが最初だけ呼ばれ2回目の遷移時には呼ばれていないことがわかった。
NavigationLinkのクロージャが呼ばれるタイミング
NavigationLinkのクロージャは、遷移先のビューが初めて生成されるときに一度だけ呼ばれます。その後、そのビューがナビゲーションスタックに保持されている限り、再生成されることはありません。
遷移したときに何かしたいとき
onAppearを使って、ビューが表示されるたびに処理を実行する
Discussion