使用 .OnReceive 方法时无法更新 SwiftUI 预览

Failed to update SwiftUI preview when using .OnReceive Method

我已经在 SwiftUI 视图中实现了 .OnReceive 方法,以便能够跟踪一些变量。

但是如您所见,我已经对所有 .onReceive 代码进行了注释,原因是如果我不这样做,我会在 canvas 上收到以下错误:

这是我的 ContentView_Previews 结构:

任何人都可以帮助我理解错误吗?我怀疑 ContentView_Previews 结构需要一些额外的值才能解释 canvas.

上的视图

感谢您的帮助!

此错误意味着预览无法呈现,原因是它没有 LoginView.onReceive 中使用的 @EnvironmentObject var appState: States

所以,你需要设置它:

struct ContentView_Previews: PreviewProvider {
   static var previews: some View {
      LoginView()
         .previewLayout(.device)
         .environmentObject(States())  // here
   }
}