Flutter 如何使用dio导航到颤振成功响应的不同屏幕

Flutter 如何使用dio导航到颤振成功响应的不同屏幕,flutter,dart,dio,Flutter,Dart,Dio,我正在尝试使用dio在成功响应后导航到其他屏幕。但我有一个错误,仍然在登录时堆栈 我还是从弗利特开始 这是我的登录页面 导入“dart:ui”; 导入“包:app/utils/api_provider.dart”; 导入“包装:颤振符号按钮/按钮列表.省道”; 导入“包:颤振\签名\按钮/按钮\视图.省道”; 导入“package:app/utils/Strings.dart”; 进口“包装:颤振/cupertino.dart”; 进口“包装:颤振/材料.省道”; 导入“软件包:应用程序/屏幕/

我正在尝试使用
dio
在成功响应后导航到其他屏幕。但我有一个错误,仍然在登录时堆栈

我还是从弗利特开始

这是我的登录页面

导入“dart:ui”;
导入“包:app/utils/api_provider.dart”;
导入“包装:颤振符号按钮/按钮列表.省道”;
导入“包:颤振\签名\按钮/按钮\视图.省道”;
导入“package:app/utils/Strings.dart”;
进口“包装:颤振/cupertino.dart”;
进口“包装:颤振/材料.省道”;
导入“软件包:应用程序/屏幕/标志屏幕上方.dart”;
导入“home_screen.dart”;
类Loginscreen扩展StatefulWidget{
@凌驾
_LoginsScreenState createState()=>\u LoginsScreenState();
}
类_LoginscreenState扩展状态{
字符串loginUrl=Africapital.login\u url;
字符串msgError=“”;
TextEditingController_usernamee=new TextEditingController();
TextEditingController_password=新的TextEditingController();
@凌驾
小部件构建(构建上下文){
返回脚手架(
resizeToAvoidBottomInset:false,
正文:SingleChildScrollView(
子:容器(
装饰:盒子装饰(
梯度:线性梯度(
颜色:[颜色。白色,颜色。白色],
开始:对齐。左下角,
结束:对齐。左上角),
),
儿童:中心(
子:列(
儿童:[
大小盒子(
身高:50,
),
新容器(
对齐:对齐.center,
身高:100,
宽度:100,
页边距:仅限边距(
左:40.0,
),
装饰:盒子装饰(
边界半径:边界半径。圆形(100),
颜色:Colors.white60,
boxShadow:[
BoxShadow(颜色:Colors.white60,扩展半径:5),
],
图像:装饰图像(
图像:AssetImage('assets/images/44.jpg'),
适合:BoxFit.contain,
),
),
),
大小盒子(
身高:15,
),
居中(
子:文本(msgError,
样式:TextStyle(
颜色:颜色,红色,
fontWeight:fontWeight.bold,
尺寸:20),,
),
大小盒子(
身高:5,,
),
容器(
对齐:对齐(-0.90,0.90),
边距:仅限常量边集(左:20.0,右:20.0),
子:文本(
“使用您的帐户登录”,
样式:TextStyle(
颜色:颜色。黑色54,
尺寸:16,
fontWeight:fontWeight.w500),
),
),
大小盒子(
身高:20.0,
),
容器(
对齐:对齐.center,
边距:仅限常量边集(左:20.0,右:20.0),
填充:仅限常量边集(左:1,右:1),
孩子:TextField(
控制器:_usernamee,
光标颜色:颜色。靛蓝色,
样式:TextStyle(颜色:颜色(0xFF1a60be)),
装饰:新的输入装饰(
contentPadding:const EdgeInsets.对称(垂直:5.0),
labelText:“电子邮件”,
聚焦顺序:大纲输入边框(
边界:
边界边(颜色:颜色(0xFF1a60be),宽度:2.0),
),
enabledBorder:OutlineInputBorder(
边界:
边框(颜色:Colors.black38,宽度:1.0),
),
hintText:'email@email.com',
hintStyle:TextStyle(
尺寸:15,
字母间距:1.5,
颜色:颜色(0xFF1a60be),
fontWeight:fontWeight.w900),
是的,
hoverColor:Colors.black,
聚焦颜色:颜色。透明,
填充颜色:颜色。白色。不透明度(0.3),
边框:大纲输入边框(
borderSide:borderSide(颜色:Colors.white38),
边界半径:边界半径。圆形(10),
),
),
),
),
大小盒子(
身高:20,
),
容器(
对齐:对齐.center,
边距:仅限常量边集(左:20.0,右:20.0),
填充:仅限常量边集(左:1,右:1),
孩子:TextField(
控制器:_密码,
蒙昧文字:对,
光标颜色:颜色。靛蓝色,
样式:TextStyle(颜色:颜色(0xFF1a60be)),
装饰:新的输入装饰(
labelText:“密码”,
contentPadding:const EdgeInsets.对称(垂直:5.0),
聚焦顺序:大纲输入边框(
边界:
边界边(颜色:颜色(0xFF1a60be),宽度:2.0),
),
enabledBorder:OutlineInputBorder(
博尔德
final jsonData = jsonDecode(jsonsDataString);
...
return LoginApiResponse(jsonData);
...
if (loginresponse.response.data != 200) 
if(response.statusCode == 200){
// rest of code here before navigation.
 Navigator.push(context, MaterialPageRoute(builder: (context) => HomeScreen));
}