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();
}
Inheritance

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 error which triggers onError with 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 state to the provided state. emit does nothing if the state being emitted is equal to the current state.
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 change occurs with the given change. A change occurs when a new state is emitted. onChange is called before the state of the cubit is updated. onChange is a great spot to add logging/analytics for a specific cubit.
onError(Object error, StackTrace stackTrace) → void
Called whenever an error occurs and notifies BlocObserver.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