API besar tidak dikirim sekaligus.
page=1 (10 item) → tampilkan
scroll ke bawah
page=2 (10 item) → tambah
...
Konsep:
await dio.get(
'/products',
queryParameters: {
'page': page,
'limit': 10,
},
);
State pagination:
initial → loading more → loaded
↘ error
Week 4 cukup: pahami page + limit + append list.
Studi Kasus
Product List dari API
ProductListPage
↓ watch(productsProvider)
Repository.getProducts()
↓ dio.get('/products')
API → JSON
↓ fromJson
List<Product> → UI
Kondisi yang harus didemo:
sukses → tampil list
kosong → empty view
timeout → error + retry
offline → pesan koneksi