title: Flutter - Bloc only emits state when the state is not extending Equatable
body: <p>I recently started using bloc and im stuck here.</p>
  <p>I have a state:</p>
  <pre><code>class BasketState extends Equatable{
    final Map&lt;Item, int&gt; itemsOrdered;
  
    BasketState(this.itemsOrdered);
  
    @override
    List&lt;Object&gt; get props =&gt; [itemsOrdered]
  }
  </code></pre>
  <p>And the following bloc:</p>
  <pre><code>class BasketBloc extends Bloc&lt;BasketEvent, BasketState&gt; {
    Map&lt;Item, int&gt; _itemsOrdered = {};
    BasketBloc() : super(BasketState({}));
  
    @override
    Stream&lt;BasketState&gt; mapEventToState(BasketEvent event) async* {
      if (event is BasketAdd) {
        _itemsOrdered.putIfAbsent(event.item, () =&gt; event.amount);
      } else if (event is BasketRemove) {
        _itemsOrdered.remove(event.item);
      }
      yield BasketState(_itemsOrdered);
    }
  }
  </code></pre>
  <p>Only the first time I send the BasketAdd event the bloc emits the state, then if I send the BasketAdd event again, the bloc emits nothing.</p>
  <p>The only thing that worked is to remove the Equatable from the state, and I dont know why.</p>
  <p>Am I doing something wrong?</p>