Мне нужно отобразить значения токенов J WT в контейнере . Я пытаюсь многими способами вернуть значение, объявить глобальную переменную, но не работает. когда я объявляю глобальную переменную, она отправляет значение NULL. Как я могу это сделать ? Я разработал свое приложение, используя Флаттер
мой код
class _ProfileScreenState extends State<ProfileScreen> {
SharedPreferences sharedPreferences;
String _email;
final _scaffoldKey = new GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
checkLoginStatus();
}
checkLoginStatus() async {
sharedPreferences = await SharedPreferences.getInstance();
if(sharedPreferences.getString("token") == null) {
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (BuildContext context) => Login()), (Route<dynamic> route) => false);
}
var token = sharedPreferences.getString("token");
var payload = Jwt.parseJwt(token);
print(payload);
print(payload["email"]);
_email = payload["email"];
print("Hello world");
print(_email);
return _email;
}
Я хочу отправить это значение электронной почты в контейнер.
Мой раздел контейнера находится здесь
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.redAccent[200],
child: Icon(Icons.arrow_back),
onPressed: () {
sharedPreferences.clear();
sharedPreferences.commit();
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (BuildContext context) => Login()), (Route<dynamic> route) => false);
},
),
backgroundColor: Color.fromRGBO(255, 255, 255, .9),
body: SafeArea(
child: ListView(
children: <Widget>[
Stack(
children: <Widget>[
Container(
width: double.infinity,
height: 330,
color: Colors.blueAccent[200],
),
Positioned(
top: 10,
right: 30,
child: Icon(
Icons.settings, //setting Icon
color: Colors.white,
),
),
Column(
children: <Widget>[
Container(
height: 90,
margin: EdgeInsets.only(top: 60),
child: CircleAvatar(
radius: 50,
backgroundColor: Colors.white,
child: Icon(Icons.tag_faces),
)
),
Padding(
padding: EdgeInsets.all(4),
),
Text(
_email, // here I call that variable
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w500,
fontSize: 20,fontFamily: 'Montserrat'),
textAlign: TextAlign.center,
),