من داخل فلاتر بخشی از کد مجبور هستم به صورت زیر اطلاعات رو از آدرسی بگیرم که روند دریافت اطلاعات سالم هست.
اما داخل initState که متد setValueProduct صدا زده شده قبل اینکه مقادیر داخلیش setState بشه میره و build رو اجرا میکنه و عملا ارور میده چون متغییر products خالی هست.
class _ProductState extends State<Product> {
ScrollController _listScrollController = ScrollController();
late List<ProductModel> products;
Future<Map> _getProducts({int page = 1}) async {
var response =
await http.get(Uri.parse("http://192.168.43.9/products?page=${page}"));
var responseDecode = json.decode(response.body)['data'];
List<ProductModel> _listProduct = [];
responseDecode.forEach((item) {
_listProduct.add(ProductModel.fromJson(item));
});
return {"current_page": 1, "products": _listProduct};
}
setValueProduct({page = 1}) async {
var response = await _getProducts(page: page);
print(response['products']);
products = [];
setState(() {
products.addAll(response['products']);
});
}
@override
initState() {
// TODO: implement initState
super.initState();
setValueProduct();
}
ممنون میشم راهنماییی کنید.
به علیرضا صالحی کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟