I have code like this:
struct MenuView : View {
    @Environment(\.verticalSizeClass) var sizeClass
    @EnvironmentObject var model : MenuModel
    @ObservedObject var items = MenuItems()
    var body: some View { 
    }
}
And I consider why ObservableObject is not keeping it state (there is no one instance of this object) but rather it is recreated (init() method is called) on each View redrawing while some other state changes. I think it is once per object.
But tapping the button causes View to be recreated and also this ObservedObject to be recreated. Should I create it not via property initialization but rather in parent and pass it to constructor?
How to correctly pass @ObservedObject to child view? I consider passing it to @Bindable property but it doesn't work.
I am changing via Button model.isMenuOpen @Published property