With following code:
struct HomeView: View {
var body: some View {
NavigationView {
List(dataTypes) { dataType in
NavigationLink(destination: AnotherView()) {
HomeViewRow(dataType: dataType)
}
}
}
}
}
What's weird, when HomeView
appears, NavigationLink
immediately loads the AnotherView
. As a result, all AnotherView
dependencies are loaded as well, even though it's not visible on the screen yet. The user has to click on the row to make it appear.
My AnotherView
contains a DataSource
, where various things happen. The issue is that whole DataSource
is loaded at this point, including some timers etc.
Am I doing something wrong..? How to handle it in such way, that AnotherView
gets loaded once the user presses on that HomeViewRow
?