在 flutter_bloc 中为(注销)功能添加单独的集团
add separate bloc for (Sign Out) functionality in flutter_bloc
我一直在使用 bloc 模式在我的 flutter 应用程序中创建登录功能,并且我使用了 (flutter_bloc) 插件>>>>一切正常,但我的问题是我应该创建一个用于(注销)或不用于(注销)的单独集团,在我的情况下,我只是使用(auth bloc)添加事件和注销状态:
事件:
导入 'package:equatable/equatable.dart';
abstract class AuthEvents extends Equatable{}
class StartedEvent extends AuthEvents {
@override
List<Object> get props => [];
}
class SignOutEvent extends AuthEvents{
@override
List<Object> get props => [];
}
class AuthLoggedInEvent extends AuthEvents {
final String token;
AuthLoggedInEvent({this.token});
@override
String toString() => 'LoggedIn { token: $token }';
@override
List<Object> get props => [token];
}
状态:
class AuthStates extends Equatable{
@override
List<Object> get props => [];
}
class AuthInitialState extends AuthStates {
}
class AuthenticatedState extends AuthStates {
User user;
AuthenticatedState({this.user});
}
class UnauthenticatedState extends AuthStates {}
class LogOutSuccessState extends AuthStates{}
集团:
@override
Stream<AuthStates> mapEventToState(AuthEvents event) async*{
try {
if(event is StartedEvent) {
var loggedIn = repo.isUserSignedIn();
if(loggedIn) {
User user = repo.getUser();
yield AuthenticatedState(user: user);
} else {
yield UnauthenticatedState();
}
} else if(event is SignOutEvent){
repo.signOut();
yield LogOutSuccessState();
yield UnauthenticatedState();
}
这是一个好方法吗?或者最好为它创建一个单独的集团?谢谢
您的“正在注销”状态是否有自己的一套状态和规则?那么你应该创建它自己的集团。
例如,您可以有一个集团在注销时处理注册和注册。这似乎是它自己集团的一个完美例子。
我一直在使用 bloc 模式在我的 flutter 应用程序中创建登录功能,并且我使用了 (flutter_bloc) 插件>>>>一切正常,但我的问题是我应该创建一个用于(注销)或不用于(注销)的单独集团,在我的情况下,我只是使用(auth bloc)添加事件和注销状态:
事件: 导入 'package:equatable/equatable.dart';
abstract class AuthEvents extends Equatable{}
class StartedEvent extends AuthEvents {
@override
List<Object> get props => [];
}
class SignOutEvent extends AuthEvents{
@override
List<Object> get props => [];
}
class AuthLoggedInEvent extends AuthEvents {
final String token;
AuthLoggedInEvent({this.token});
@override
String toString() => 'LoggedIn { token: $token }';
@override
List<Object> get props => [token];
}
状态:
class AuthStates extends Equatable{
@override
List<Object> get props => [];
}
class AuthInitialState extends AuthStates {
}
class AuthenticatedState extends AuthStates {
User user;
AuthenticatedState({this.user});
}
class UnauthenticatedState extends AuthStates {}
class LogOutSuccessState extends AuthStates{}
集团:
@override
Stream<AuthStates> mapEventToState(AuthEvents event) async*{
try {
if(event is StartedEvent) {
var loggedIn = repo.isUserSignedIn();
if(loggedIn) {
User user = repo.getUser();
yield AuthenticatedState(user: user);
} else {
yield UnauthenticatedState();
}
} else if(event is SignOutEvent){
repo.signOut();
yield LogOutSuccessState();
yield UnauthenticatedState();
}
这是一个好方法吗?或者最好为它创建一个单独的集团?谢谢
您的“正在注销”状态是否有自己的一套状态和规则?那么你应该创建它自己的集团。
例如,您可以有一个集团在注销时处理注册和注册。这似乎是它自己集团的一个完美例子。