получить один элемент из магазина ngrx

Я написал следующий редуктор для хранения элементов состояния в моем приложении Angular 2. Позиции представляют собой ценовые предложения для финансовых инструментов (например, акции / валюты).

Моя реализация редуктора выглядит следующим образом:

export const offersStore = (state = new Array<Offer>(), action:Action) => {
switch(action.type){

    case "Insert":
        return [
            ...state, action.payload
        ];
    case "Update":
            return state.map(offer => {
                    if(offer.Instrument === action.payload.Instrument)
                    {
                        return Object.assign({}, action.payload);
                    }
                    else return offer;
            });
    case "Delete":
        return state.filter(offer => offer.Instrument !== action.payload )
    default:
        return state;
    }

}

Мне удалось заставить работать Inserts, Updates and Deletes - хотя это было нелегко. Я считаю, что Redux - это что-то вроде изменения парадигмы от того, как я программировал годами.

У меня есть приложение / страница инструмента в моем приложении, которое показывает всю доступную информацию для одного конкретного инструмента, указанную в InstrumentId, например «EUR / USD» (хранится в свойстве payload.Instrument).

Моя проблема в том, что я не уверен, как эффективно найти конкретный инструмент и забрать его из магазина. Не только это, но я также хочу, чтобы инструмент, который я выбираю, обновлялся, если инструмент в магазине обновлялся, как это часто происходит посредством проталкивания websocket с сервера. Поэтому мне действительно нужно найти в хранилище определенный инструмент и вернуть его в качестве наблюдаемого, который будет продолжать обновлять компонент просмотра на основе новых данных, которые передаются в хранилище.

Как мне этого добиться?

Ответы на вопрос(2)

Ваш ответ на вопрос