我正在开始使用BLoC模式,但我有一个问题:
1)您是否应该使用BloC模式来确定路由是否应该更改?示例:身份验证对象更改为unauthenticated
,因此侦听器应处理路由更改。
2) BLoC模式是否应该仅用于UI状态,并在UI更改时处理路由更改?示例:用户单击login
并导航到home
屏幕。
我问这个问题是因为我面临着一个问题,我没有一个中央导航管理解决方案。
这段代码现在在我的BLoC中:
loggedIn.listen((AuthResponse user) {
currentUserSubject.add(user);
Navigator.pushReplacement(
_context,
PageRouteBuilder(
pageBuilder: (context, animation1, animation2) {
return HomePage();
},
transitionsBuilder: (context, animation, _, child) {
return new SlideTransition(
child: child,
position: new Tween<Offset>(
begin: const Offset(0.0, 1.0),
end: Offset.zero,
).animate(animation),
);
},
transitionDuration: Duration(milliseconds: 400),
),
);
}, onError: (error) {
Scaffold.of(_context).showSnackBar(new SnackBar(
content: new Text(error.message),
));
});
https://stackoverflow.com/questions/52858417
复制相似问题