Aleteo StreamBuilder volvió nula

Vicente:
@override
  Widget build(BuildContext context) {

    final user = Provider.of<User>(context);

    return StreamProvider<QuerySnapshot>.value(   // irrelevant (?)
      value: DatabaseService().users,
      child: StreamBuilder<UserData>(
        stream: DatabaseService(uid: user.uid).userData,
        builder: (context, snapshot) {
          UserData userData = snapshot.data;
          if (!snapshot.hasData) {
            return ProfileSetup();
          } else {
            return Scaffold(...

Quiero comprobar si el usuario ya ha establecido su perfil comprobando si hay alguna datos del usuario en la nube Firestore. De lo contrario el usuario se envía a la página de configuración. El problema es que cuando hay finalmente los datos del usuario en la nube aparece un mensaje de error y una pantalla roja durante medio segundo, pero después de eso continúa, ya que de suppost. Sin embargo, no entiendo por qué hay un mensaje de error.

Una función de acumulación volvió nula. El error que causan Widget fue StreamBuilder <UserData> relevante

Haroon Ashraf Awan:

Uso connectionstates en streambuilders. Prueba esto:

@override
Widget build(BuildContext context) {

  final user = Provider.of<User>(context);

return StreamProvider<QuerySnapshot>.value(   // irrelevant (?)
   value: DatabaseService().users,
   child: StreamBuilder<UserData>(
   stream: DatabaseService(uid: user.uid).userData,
      builder: (context, snapshot) {
       UserData userData = snapshot.data;
       if (snapshot.hasData) {
       switch (snapshot.connectionState) {
       case ConnectionState.none:
                 return Text("No Connections");
       case ConnectionState.waiting:
                return CircularProgressIndicator();
       case ConnectionState.active:
       case ConnectionState.done:
         return snapshot.data.length > 0 ? ScaffoldPage() :ProfileSetup();
    default:
    break;
  }
  } 
          return Text("");

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=377473&siteId=1
Recomendado
Clasificación