Как обновить состояние текстового виджета?

Я работаю с входом в Google, и мне нужно отобразить электронную почту, но я не могу настроить рабочее состояние, может кто-нибудь, пожалуйста, помогите!

Вот мой текущий код:

const Padding(
        padding: EdgeInsets.fromLTRB(9, 0, 9, 0),
        child: SignInButton(),
      ),
      Text(userEmail ?? 'email') // i need the email to update when i sign in 
    ],
  ),
 );
}
}

final _auth = FirebaseAuth.instance;
 dynamic? user;
 String? userEmail;
 String? userPhoneNumber;

 void getCurrentUserInfo() async {
   user = await _auth.currentUser!;
   userEmail = user.email;
   userPhoneNumber = user.phoneNumber;
   }
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
0
24
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
void getCurrentUserInfo() async {
   user = await _auth.currentUser!;
   userEmail = user.email;
   userPhoneNumber = user.phoneNumber;
    setState((){})
}

предполагая, что вы находитесь в виджете с отслеживанием состояния. Просто добавьте setState() в getCurrentUserInfo, и он должен обновить виджет.

он показывает, что установленное состояние не определено как функция

meharker 20.03.2022 19:05

тогда вы, вероятно, не используете виджет с отслеживанием состояния. Убедитесь, что ваш виджет имеет состояние. обновите вопрос с полным кодом, и я постараюсь помочь. @мехаркер

amo 20.03.2022 19:07

Хорошо, так что вы правы, это было без гражданства, спасибо.

meharker 21.03.2022 01:27

пожалуйста. рад помочь. @мехаркер

amo 21.03.2022 01:55

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