已注入
Hydrated 提供了一个 BehaviorSubject,它可以自动持久化到 Flutter 的本地存储并在创建时进行水合!
易于使用
所有值都通过shared_preferences持久化,并通过自动注入恢复。
final count$ = HydratedSubject<int>("count", seedValue: 0);
/// count$ will automagically be hydrated with 42 next time it is created
count$.add(42);
为BLoC做好准备
class HydratedBloc {
final _count$ = HydratedSubject<int>("count", seedValue: 0);
ValueObservable<int> get count$ => _count$.stream;
Sink<int> get setCount => _count$.sink;
dispose() {
_count$.close();
}
}
支持简单类型和序列化类
我们支持所有shared_preferences类型。
整数双精度布尔值字符串List<String>
final count$ = HydratedSubject<int>("count");
我们还支持使用hydrate和persist参数的序列化类。
final user$ = HydratedSubject<User>(
"user",
hydrate: (String s) => User.fromJSON(s),
persist: (User user) => user.toJSON(),
);
可靠
Hydrated已对所有支持的类型进行了模拟测试,并由其创建者亲自使用。

演示
