title: get single item from ngrx/store
body: <p>I've written the following reducer to store the state items in my Angular 2 app.  The Items are price offers for Financial Instruments (e.g. stocks/currencies).</p>
  
  <p>My Reducer Implementation is as follows:</p>
  
  <pre><code>export const offersStore = (state = new Array&lt;Offer&gt;(), action:Action) =&gt; {
  switch(action.type){
  
      case "Insert":
          return [
              ...state, action.payload
          ];
      case "Update":
              return state.map(offer =&gt; {
                      if(offer.Instrument === action.payload.Instrument)
                      {
                          return Object.assign({}, action.payload);
                      }
                      else return offer;
              });
      case "Delete":
          return state.filter(offer =&gt; offer.Instrument !== action.payload )
      default:
          return state;
      }
  </code></pre>
  
  <p>}</p>
  
  <p>I managed to get Inserts, Updates and Deletes working - although it wasn't easy.  I find Redux to be something of a paradigm shift away from how I've been coding for years.</p>
  
  <p>I've got an Instrument Component/Page on my App - which shows all available information for one specific Instrument, indicated by InstrumentId e.g. "EUR/USD" (stored in the payload.Instrument property).</p>
  
  <p>My problem is, I'm not sure how to efficiently search for a specific instrument and grab it out of the store.  Not only this, but I also want the instrument I fetch to be updated if the Instrument in the store is updated as they are frequently via websocket push from the server.  So I really need to search the store for a specific instrument, and return it as an Observable, that will continue to update the View Component based on new data that gets pushed to the store.</p>
  
  <p>How can I achieve this?</p>