Извлечение данных из Firebase Firestore в Flutter

#flutter #dart

#flutter #dart

Вопрос:

В моем приложении есть 2 экрана. 1-й экран передает аргумент на 2-й экран. На этом 2-м экране мне нужно использовать аргумент, полученный с 1-го экрана, и инициализировать list объект в initState методе.

Проблема, с которой я сталкиваюсь, заключается в том, что пока build метод не будет выполнен, я не смогу получить доступ к аргументу, который был передан с 1-го экрана, поэтому не смогу инициализировать list объект.

Есть ли способ получить доступ к аргументу, переданному с 1-го экрана, и инициализировать list его при вызове метода initState?

Большое спасибо за ваше время заранее.

ЭКРАН 1:

 .
.
.
@override
Widget build(BuildContext context) {
    return ListTile(
      onTap: () {
        Navigator.of(context).pushNamed(
          ContentPage.routeName,
          arguments: topicID,
        );
      },
}
  

ЭКРАН 2:

 List<String> topicID;
List<String> response;
.
.
.
@override
void initState() {
    super.initState();
    topicID = response;
}
.
.
.
@override
Widget build(BuildContext context) {
    response = ModalRoute.of(context).settings.arguments;
}
.
.
.
  

Получение приведенной ниже ошибки:

 ════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
RangeError (index): Invalid value: Valid value range is empty: 0
The relevant error-causing widget was: 
  MaterialApp file:///C:/Projects/Mobile/newapp/lib/main.dart:39:14
════════════════════════════════════════════════════════════════════════════════════════════════════
  

Комментарии:

1. Пожалуйста, предоставьте некоторый код, который вы уже пробовали.

2. Привет @Akif, я добавил код к проблеме. Спасибо!