// Before:
struct MoviesTab: View {
@QueryNext(MoviesTabQuery.self) var movies
var body: some View {
switch movies.get() {
// ...
case .success(let data):
if let data = data {
MoviesList(films: data) // MoviesTabQuery.Data conforms to MoviesList_films_Key
}
}
}
}
struct MoviesList: View {
@PaginationFragmentNext(MoviesList_films.self) var films
init(films: MoviesList_films_Key) {
$films = films
}
var body: some View { /* ... */ }
}
// After:
struct MoviesTab: View {
@QueryNext<MoviesTabQuery> var movies
var body: some View {
switch movies.get() {
// ...
case .success(let data):
if let data = data {
// Use asFragment() to create the PaginationFragmentNext that
// MoviesList expects.
MoviesList(films: data.asFragment())
}
}
}
}
struct MoviesList: View {
@PaginationFragmentNext<MoviesList_films> var films
// The default initializer is fine now because the parent view is passing
// a PaginationFragmentNext instead of a fragment key.
var body: some View { /* ... */ }
}