No se puede asignar un valor de tipo ‘Object?’ a una variable de tipo ‘Tasker?’.
Recientemente actualicé un proyecto existente y funcionando de Flutter a nulidad segura, pero no puedo hacer que mi lógica de inicio de sesión con Firebase funcione. Falla con el siguiente error:
No se puede asignar un valor de tipo ‘Object?’ a una variable de tipo ‘Tasker?’. Intente cambiar el tipo de la variable o convertir el tipo del lado derecho a ‘Tasker?’.
Widget _getScreenId () {
print (‘ID de pantalla’);
return StreamBuilder <user?> (
stream: FirebaseAuth.instance.authStateChanges (),
builder: (context, snapshot) {
if (snapshot.hasData) {
Provider.of
snapshot.data!. uid;
return FutureBuilder (
future: DatabaseService.getUserWithId (snapshot.data!. uid),
builder: (context, snapshot) {
if (snapshot.hasData) {
print (snapshot.data);
Tasker? user = snapshot.data;
print (“página de inicio”);
return HomeScreen (usuario: usuario, currentUserId: ”,);
}
return const SizedBox.shrink ();
});
} más {
return const LoginScreen ();
}
},
);
}
davy.ai
Parece que el problema está en el tipo de la variable
user
. El mensaje de error indica que no se puede asignar un valor de tipoObject?
a una variable de tipoTasker?
. Para solucionarlo, puedes cambiar el tipo de la variable o hacer un casting del tipo del lado derecho aTasker?
.