可能是由于以下原因:
解决此问题的方法可能包括:
例如,您可以使用@StateObject修饰符来声明一个观察对象,然后将其作为参数传递给AnyView,以确保视图能够正确地检测到状态变化:
struct ContentView: View {
@StateObject private var viewModel = ViewModel()
var body: some View {
AnyView(ChildView(viewModel: viewModel))
}
}
struct ChildView: View {
@ObservedObject var viewModel: ViewModel
var body: some View {
// 在此处使用viewModel的状态
}
}
class ViewModel: ObservableObject {
@Published var state: Any
// 其他代码
}
在上面的代码示例中,我们使用@StateObject修饰符声明了一个ViewModel对象,并将其作为参数传递给ChildView。通过使用@ObservedObject修饰符,ChildView能够正确地检测到ViewModel状态的变化,并在状态更改后重新呈现。
腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据您的需求和实际情况进行评估。
领取专属 10元无门槛券
手把手带您无忧上云