我一直在结合使用本登录教程和 resocoder clean 架构教程来构建登录/身份验证功能。99% 的情况下都可以正常工作,但无法正确响应LoginButton按下的操作。
由于某种原因,当LoginBloc调用时AuthenticationBloc.add(loggedin()), AuthenticationBloc 会AuthenticationAuthenticated()很好地生成状态,但BlocBuilderMain.dart 中的状态不会收到状态更改。即使内部的 SimpleBlocDelegate 在产生OnTransition时也会被触发,但什么也不做。AuthenticationAuthenticatedBlocBuilder
Main.dart看起来像这样:
import 'package:bloc/bloc.dart';
import 'package:flutter_app/dependency_injector.dart' as di;
import 'package:flutter_app/features/login/presentation/pages/login_screen.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'features/login/presentation/bloc/user_login_bloc.dart';
import 'features/login/presentation/bloc/user_login_events.dart';
import 'features/login/presentation/bloc/user_login_states.dart';
class SimpleBlocDelegate extends BlocDelegate {
@override
void onEvent(Bloc bloc, Object event) {
print(event);
super.onEvent(bloc, event);
}
@override
void onTransition(Bloc bloc, Transition transition) {
print(transition);
super.onTransition(bloc, transition);
}
@override
void onError(Bloc bloc, Object error, StackTrace stackTrace) …Run Code Online (Sandbox Code Playgroud)