PersistedCubitfx<State, Effect> class
abstract
Base class for Cubitfx with built-in state persistence.
This is a convenience class that combines Cubitfx with automatic state persistence. Use this when you want persistence without having to use mixins.
Example usage:
class ProfileCubit extends PersistedCubitfx<ProfileState, ProfileEffect> {
ProfileCubit() : super(ProfileState.initial());
@override
String get storageKey => 'profile_cubit';
@override
ProfileState fromJson(Map<String, dynamic> json) => ProfileState.fromJson(json);
@override
Map<String, dynamic> toJson(ProfileState state) => state.toJson();
}
Constructors
- PersistedCubitfx(State initialState)
Properties
- config → PersistenceConfig
-
Persistence configuration.
Override to customize behavior.
no setter
-
effects
→ Stream<
Effect> -
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isClosed → bool
-
Whether the bloc is closed.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → State
-
The current state.
no setterinherited
- storageKey → String
-
Unique key for storing this cubit's state.
Must be unique across your app.
no setter
-
stream
→ Stream<
State> -
The current stream of states.
no setterinherited
Methods
-
addError(
Object error, [StackTrace? stackTrace]) → void -
Reports an
errorwhich triggersonErrorwith an optional StackTrace.inherited -
clearPersistedState(
) → Future< void> - Clear persisted state from storage.
-
close(
) → Future< void> -
Closes the instance.
This method should be called when the instance is no longer needed.
Once close is called, the instance can no longer be used.
override
-
emit(
State state) → void -
Updates the
stateto the providedstate.emitdoes nothing if thestatebeing emitted is equal to the currentstate.inherited -
emitEffect(
Effect effect) → void -
inherited
-
fromJson(
Map< String, dynamic> json) → State - Convert JSON back to state.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onChange(
Change< State> change) → void -
Called whenever a
changeoccurs with the givenchange. Achangeoccurs when a newstateis emitted. onChange is called before thestateof thecubitis updated. onChange is a great spot to add logging/analytics for a specificcubit. -
onError(
Object error, StackTrace stackTrace) → void -
Called whenever an
erroroccurs and notifiesBlocObserver.onError.inherited -
persistState(
State state) → Future< void> - Persist current state to storage.
-
shouldPersist(
State state) → bool - Determine if a state should be persisted. Override to add custom logic.
-
toJson(
State state) → Map< String, dynamic> - Convert state to JSON for storage.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited