Flutter: приводит ли вложение FutureBuilder к необычному поведению?

#flutter #flutter-test #flutter-futurebuilder

#флаттер #flutter-тест #flutter-futurebuilder

Вопрос:

Пока я делал свой проект, я столкнулся с непредвиденным условием, когда, если я открою страницу, на которой у меня есть вложенный виджет FutureBuilder, затем вернусь на другую страницу и, сосредоточив внимание на текстовом поле, чтобы ввести что-то, приведет к переходу на ту же страницу, где у меня есть вложенный futurebuilder.

      _UserProfileState() {
    FromSharedPref().getString('userId').then((value) {
      setState(() {
        userId = value;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<DocumentSnapshot>(
      future: FirebaseFirestore.instance.collection('users').doc(userId).get(),
      builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return Container(
            color: Colors.white,
            child: Center(
              child: CircularProgressIndicator(),
            ),
          );
        } else {
          AppUser user = AppUser.fromJason(snapshot.data.data());
          return ProfileForm(
            user: user,
          );
        }
      },
    );
  }
}
 

Когда я устал получать данные SharedPreference с помощью future builder, я столкнулся с этой ошибкой. Но оно исчезло, когда я удалил вложенный FutureBuilder.

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

1. Можете ли вы уточнить свой вопрос? Если вашей программе нужны вложенные FutureBuilders, потому что она структурирована таким образом, вы можете это сделать.

2. Я отредактировал свой вопрос.

3. Я все еще не вижу вложенного FutureBuilder.