I am developing a shopping cart app . I want to determine when User is logged in that time I want to show MainView (Home view). If user is not logged in that time I am showing LoginView and it working fine when I pass the value into environmentObject but I want to another object which is Order class , which will be observable into different view. I am not sure How can I pass two StateObject
s into one environmentObject
to make sure order class is not destroyed or recreate it again ..
Error is here ..
.environmentObject(viewModel, order)
Here is my Main view ..
import SwiftUI
import Firebase
@main
struct DemoEcommerceApp: App {
@StateObject var viewModel = AuthViewModel()
@StateObject var order = Order()
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
ContentViewOne()
.environmentObject(viewModel, order)
}
}
}
Here is the Content view which has environment variable ..
import SwiftUI
struct ContentViewOne: View {
@EnvironmentObject var viewModel: AuthViewModel
var body: some View {
Group {
if viewModel.userSession != nil {
MainView()
} else {
LoginView()
}
}
}
}
struct ContentViewOne_Previews: PreviewProvider {
static var previews: some View {
ContentViewOne()
}
}
Here is the screenshot..