listenWhen property

BlocListenerCondition<Connection>? listenWhen

An optional listenWhen can be implemented for more granular control over when listener is called. listenWhen will be invoked on each bloc state change. listenWhen takes the previous state and current state and must return a bool which determines whether or not the listener function will be invoked. The previous state will be initialized to the state of the bloc when the BlocListener is initialized. listenWhen is optional and if omitted, it will default to true.

BlocListener<BlocA, BlocAState>(
  listenWhen: (previous, current) {
    // return true/false to determine whether or not
    // to invoke listener with state
  listener: (context, state) {
    // do stuff here based on BlocA's state
  child: Container(),


final BlocListenerCondition<S>? listenWhen;