【发布时间】:2020-05-06 13:09:57
【问题描述】:
我现在面临的是在我按照其中一个教程实施 bloc 之后,我现在被困在一个地方,在我得到响应并且状态改变之后,我想导航到另一个小部件
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(APP_TITLE),
),
body: buildBody(context));
}
}
BlocProvider<SignInBloc> buildBody(BuildContext context) {
return BlocProvider(
create: (_) => sl<SignInBloc>(),
child: Center(
child: Padding(
padding: const EdgeInsets.all(16),
child: Column(
children: <Widget>[
BlocBuilder<SignInBloc, SignInState>(
builder: (context, state) {
if(state is Empty)
return MessageDisplay(message: 'Sign In please.',);
else if(state is Loaded)
return HomePage();
else
return MessageDisplay(message: 'Sign In please.',);
}
),
SignInControls(),
],
),
),
),
);
}
在加载状态下,我想导航到另一个小部件。 那么如何实现这一目标,最好的方法是什么?
【问题讨论】:
-
有什么问题?你试过什么?
-
在状态变为 Loaded 后,我正在尝试访问 HomePage(),但它不起作用因为它已添加到当前在屏幕上令人兴奋的小部件中,并且屏幕上会出现像素超载。我想导航到主页作为新屏幕。我希望这能让我的问题更清楚