title: Ngxs getState() after setState() returns empty always
body: <p>Building state with ngxs in angular</p>
  <pre class="lang-js prettyprint-override"><code>//Component.ts
  ngOnInit(): void {
      const dataInsdeStore = this.store.selectSnapshot(MarketState);
      if(!dataInsdeStore.loaded){
        const category = this.marketplaceService.getMarketplaceCategories().subscribe(cat =&gt; {
          const item = this.marketplaceService.getMarketplaceItems().subscribe(i =&gt; {
            const obj = {
              categories: cat,
              items: i,
              loaded: true
            }
            this.store.dispatch(new SetMarketAction(obj))
          })
        })
      }
      const test = this.store.selectSnapshot(MarketState);
      this.store.dispatch(new GetMarketStateAction())
    }
  </code></pre>
  <p>Upon checking wether the state is empty or not, and  dispatching SetMarketAction I get empty object anyways</p>
  <pre class="lang-js prettyprint-override"><code>//Market.actions.ts
  import { MarketStateInterface } from &quot;../interfaces/interfaces&quot;;
  
  class SetMarketAction {
    static readonly type = '[MARKET] Set';
    constructor(public marketState : MarketStateInterface){}
  }
  class GetMarketStateAction {
    static readonly type = '[MARKET] Get';
  }
  export { SetMarketAction, GetMarketStateAction };
  
  </code></pre>
  <pre class="lang-js prettyprint-override"><code>
  //Market.state.ts
  
  import { Action, State, StateContext } from '@ngxs/store';
  import { MarketStateInterface } from '../interfaces/interfaces';
  import { Injectable } from '@angular/core';
  import { GetMarketStateAction, SetMarketAction } from './market.actions';
  @State&lt;MarketStateInterface&gt;({
    name: 'market',
    defaults: {
      categories: [],
      items: [],
      loaded: false,
    },
  })
  @Injectable()
  export class MarketState {
    constructor() {}
    @Action(GetMarketStateAction)
    getMarket(ctx: StateContext&lt;MarketStateInterface&gt;) {
      const state = ctx.getState();
      console.log(state);
      return state;
    }
    @Action(SetMarketAction)
    setMarket(ctx: StateContext&lt;MarketStateInterface&gt;, action: SetMarketAction) {
      ctx.setState(action.marketState);
    }
  }
  
  </code></pre>
  <p>Every time I conosle.log the state at any given time I get the empty array, the interface of the state is correct</p>