Параметр передачи Flutter из класса в объект будущего
Я создал приложение, и у меня возникла проблема с передачей параметра из класса в URL-адрес API. Идея состоит в том, что каждый раз, когда я открываю новую страницу с базового URL, я получаю код, который передаю на следующий URL. Проблема в том, что при открытии новой страницы я создаю будущий объект для вызова URL-адреса API, и мне нужно передать этот код из класса и передать его.
Это мой код:
class ProductFirstChild extends StatefulWidget {
**final String code**;
ProductFirstChild({Key key, this.code}) : super(key: key);
@override
_ProductFirstChildState createState() => _ProductFirstChildState();
}
class _ProductFirstChildState extends State<ProductFirstChild> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Container(
child: new Center(
child: FutureBuilder<List<ProductFirstChild>>(
future: fetchProduseChild(http.Client()),
builder: (context, snapshot) {
if (snapshot.hasError) {
return Text('${snapshot.error}');
}
return snapshot.hasData
? Text('success')
: Center(
child: CircularProgressIndicator(),
);
},
),
),
);
}
}
Future<List<ProductFirstChild>> fetchProduseChild(http.Client client) async {
final urlResponse = url + '/products/' + code;
final response = await http.get(Uri.encodeFull(urlResponse));
return compute(parseProductChild, response.body);
}
List<ProductFirstChild> parseProductChild(String responseBody) {
final parsed = jsonDecode(responseBody).cast<Map<String, dynamic>>();
return parsed
.map<ProductChilds>((json) => ProductChilds.fromJson(json))
.toList();
}