Flutter Bloc之简单记录
import 'package:bloc/bloc.dart';
// 定义事件
enum SimpleEvent { eventA, eventB }
// 定义状态
enum SimpleState { stateA, stateB, stateC }
// 创建Bloc类
class SimpleBloc extends Bloc<SimpleEvent, SimpleState> {
SimpleBloc() : super(SimpleState.stateA);
@override
Stream<SimpleState> mapEventToState(SimpleEvent event) async* {
switch (event) {
case SimpleEvent.eventA:
yield SimpleState.stateB;
break;
case SimpleEvent.eventB:
yield SimpleState.stateC;
break;
}
}
}
// 使用Bloc
void main() {
final bloc = SimpleBloc();
bloc.dispatch(SimpleEvent.eventA); // 触发状态变更
bloc.stream.listen((state) {
// 监听状态变化并作出响应
print('New state: $state');
});
}
这段代码定义了一个简单的Bloc,用于处理两个事件eventA
和eventB
,并在控制台打印出相应的新状态。这是学习Flutter Bloc库的一个基本示例,展示了如何创建和使用Bloc来管理状态。
评论已关闭