Параметр передачи 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();
}

0 ответов

Другие вопросы по тегам