BlocListener<SomeBloc, SomeState>(
listener: (context, state) {
if (state is Loaded) {
Navigator.pushNamedAndRemoveUntil(context,
LoginScreen.id, (r) => false);
....
а в LoginScreen:
....
Widget build(BuildContext context) {
print(context.bloc<SomeBloc>().state); //здесь предыдущий стейт а не Loaded
return ...
}