For the Views deep-down in a SwiftUI app, use only Struct types, passed as value or binding.
Build complex logic (async loading etc.) as wrapper View around those.
Can be tricky to keep the line between the layers. But it's well worth it for maintainability enabling Previews.
ALT Tipp: Use struct-based inner views so you can easily setup PreviewProviders