import SwiftUI struct ListView: View { var items: [ContentItem] var limit: Int? var body: some View { LazyVStack(alignment: .leading) { ForEach(limitedItems) { item in ContentItemView(item: item) .environment(\.listingStyle, .list) .environment(\.noListingDividers, limit == 1) .transition(.opacity) } } } var limitedItems: [ContentItem] { Array(items.prefix(limit ?? items.count)) } } struct ListView_Previews: PreviewProvider { static var previews: some View { ListView(items: [.init(video: .fixture)], limit: 10) } }