I want to use generic subview in SwiftUI view.
struct UserChoiceView<DecisionView: View>: View {
let subview: DecisionView
var body: some View {
subview
.padding()
.offset(x: 10)
}
}
struct LikeDislikeView_Previews: PreviewProvider {
static var previews: some View {
UserChoiceView(subview: RoundedRectangle(cornerRadius: 10)
.fill(Color.red.opacity(0.9)))
}
}
Code above works fine, but Xcode can't generate preview. I receive this error:
reference to generic type 'UserChoiceView' requires arguments in <...>
I think I can solve this by using AnyView type erasure, but maybe there are other workarounds.