struct LazyView<Content: View>: View { let build: () -> Content init(_ build: @autoclosure @escaping () -> Content) { self.build = build } var body: Content { build() } } になってるけど、 onAppear で更新されてないからこれだと初回しかうまくいかない?init は NavigationLink を作るときに呼ばれるけど、 body は View が表示されたときにしか呼ばれず、しかも毎回呼ばれるからか。 (edited)