Bloc模式是一种在Flutter中用于管理状态的框架。持久化会话是一个常见的需求,可以通过Bloc模式来解决。以下是一个简单的示例代码,其中使用了Bloc模式来持久化会话。
import 'package:bloc/bloc.dart'; import 'package:shared_preferences/shared_preferences.dart';
class SessionBloc extends Bloc
SessionBloc(this.prefs) : super(InitialSessionState());
@override
Stream
Stream
Stream
abstract class SessionEvent {}
class LoadSession extends SessionEvent {}
class SaveSession extends SessionEvent { final String token;
SaveSession(this.token); }
abstract class SessionState {}
class InitialSessionState extends SessionState {}
class LoadedSessionState extends SessionState { final String token;
LoadedSessionState(this.token); }
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Home"),
),
body: BlocBuilder
class LoginPage extends StatelessWidget { final TextEditingController _controller = TextEditingController();
@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Login"), ), body: Padding( padding: EdgeInsets.all(16), child: Column( crossAxisAlignment: