Open
Description
Hi, I have the same problem, which is described in the link below.
https://forums.developer.apple.com/forums/thread/693137
In short:
- I navigate to: LoginView -> SignUpView or LoginView -> ForgotPasswordView
- I update the environmentObject in SignUpView or ForgotPasswordView but then I get immediately pushed back to LoginView
Main:
@main
struct ARVisioApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
@StateObject private var userStateViewModel = UserStateViewModel(networkMonitor: NetworkMonitor())
var body: some Scene {
WindowGroup {
NavigationViewCoordinator(AuthenticationCoordinator(userStateViewModel: userStateViewModel)).view()
}
.modelContainer(for: ARObject.self)
}
}
AuthenticationCoordinator:
final class AuthenticationCoordinator: NavigationCoordinatable {
let stack = NavigationStack(initial: \AuthenticationCoordinator.start)
var userStateViewModel: UserStateViewModel
init(userStateViewModel: UserStateViewModel) {
self.userStateViewModel = userStateViewModel
}
@Root var start = makeStart
@Route(.push) var signUp = makeSignUp
@Route(.push) var forgotPassword = makeForgotPassword
}
AuthenticationCoordinator+Factory:
extension AuthenticationCoordinator {
@ViewBuilder func makeStart() -> some View {
LoginView()
.environmentObject(userStateViewModel)
}
@ViewBuilder func makeSignUp() -> some View {
SignUpView()
.environmentObject(userStateViewModel)
}
@ViewBuilder func makeForgotPassword() -> some View {
ForgotPasswordView()
.environmentObject(userStateViewModel)
}
}
Could you please tell me how this problem can be solved?
Without Stinsen, using NavigationView and NavigationStack, everything works.
Metadata
Assignees
Labels
No labels
Activity