ListenerCubit<State, Message> class abstract

Handles Listener's listen and close.

Use instead of Cubit.

If your cubit needs to extend another class use Listener mixin.

Type argument Message marks what type of messages can be received.

See also:

  • ListenerBloc, a class extending Bloc which handles calling listen and cancel automatically.
  • useMessageListener, a hook that provides Listener's functionality which handles calling listen and cancel automatically.
Mixed in types


ListenerCubit(State initialState)


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
stream Stream<State>
The current stream of states.
no setterinherited


addError(Object error, [StackTrace? stackTrace]) → void
Reports an error which triggers onError with an optional StackTrace.
cancel() → void
Stops receiving messages.
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.
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.
listen() → void
Starts message receiving.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
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.
onInitialMessage(Message message) → void
Called when registering Listener if a message of type Message was sent earlier by Sender.
onMessage(Message message) → void
Called every time a new message is received.
toString() String
A string representation of this object.


operator ==(Object other) bool
The equality operator.