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
?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…