【发布时间】:2021-05-12 21:09:34
【问题描述】:
当视图打开时,我需要从 api 获取数据。如果我习惯这样初始化;
struct ContentView: View {
init() {
fetchDataFunc()
}
var body: some View {
...
}
}
当应用程序打开时,所有vievs 中的inits 都在运行。但我只想初始化唯一输入的视图。
如果我像这样使用 .onApppear;
struct ContentView: View {
List(viewModel.values) { value in
NavigationLink(destination: ProjectDetailView()) {
CellView(value: value)
}
}.onAppear{
fetchDataFunc()
}
}
这里的问题是每次导航返回时 .onApppear 都会起作用。导航返回时列表返回顶部。解决这个问题的最佳方法是什么?
【问题讨论】: