Я очень новичок в NgRx и пытаюсь обернуть голову вокруг него.Я понимаю, что цель состоит в том, чтобы иметь хранилище данных, в котором находятся различные типы состояний.Я пытаюсь понять, как работать со списками данных.
Сценарий 1 : пользователь сначала переходит к списку, и в этом случае запускается эффект для получения списка из бэкэнда / API.В случае успеха список сохраняется в хранилище, а компонент пользовательского интерфейса отвечает на наблюдаемое через | async
и отображает список.Пользователь нажимает на элемент, чтобы просмотреть детали.Мы можем сохранить идентификатор выбранного элемента в хранилище, а затем просто использовать механизм фильтрации для извлечения подробных данных из массива списка в хранилище.Или мы можем сделать еще один эффект вызова сервера для получения подробной информации.Я предполагаю, что решение здесь заключается в том, если список содержит все данные, необходимые для страницы сведений?
Сценарий 2 : если список в магазине содержит все необходимые данныеесли страница сведений и пользователь щелкают элемент в списке, он просто сохраняет идентификатор выбранного элемента в хранилище, а затем переходит на страницу сведений, где данные подробностей просто отфильтровываются из списка на основе идентификатора выбранного элемента в магазине, что происходиткогда пользователь обновляет URL-адрес браузера на странице сведений?Когда это происходит, список больше не находится в магазине и не является идентификатором выбранного элемента.Тем не менее, идентификатор выбранного элемента находится в URL-адресе и маршруте.Как вы справляетесь с этим сценарием?Перестраиваете ли вы список, чтобы получить подробную запись?
Сценарий 3 : каков наилучший подход для обработки сценария, в котором у вас есть разные подмножества данных из всего списка.Возможно, вам нужно просмотреть список «ожидающих» товаров, а также другой список товаров, созданных на этой неделе, и т. Д. Кажется очень неэффективным загружать все записи в хранилище в качестве основного списка, а затем просто отфильтровывать нужные записи.для разных взглядов.Я прочитал учебники, в которых у вас есть главный список в магазине, а затем просто есть идентификаторы в другой части магазина, которые составляют различные срезы.Это кажется очень тяжелым и дублирование базы данных на клиенте.Как лучше всего фильтровать списки в магазине?
Спасибо за вашу помощь и понимание.