NgRx/Redux менее дублирующий код с более общими редукторами
Я создаю приложение, где у меня есть разные страницы со списками фильмов. Например, страница поиска (фильмы по поиску), страница актера (фильмы актера), страница жанра (фильмы по жанру). Дело в том, что все они имеют одинаковую базовую функциональность - загружают список фильмов по некоторым критериям. У меня есть редуктор для хранения сущностей фильмов, когда что-то загружено. Но проблема в том, что мне нужно создать отдельный редуктор для каждого типа страницы, чтобы сохранить соответствующие идентификаторы фильмов для отображения.
Первоначально я просто реализовал все эти страницы с нуля, дублируя при этом много кода - отдельные действия, эффекты, средства сокращения для каждой страницы. Теперь я чувствую, что это довольно некрасиво и может быть сделано более аккуратно.
У меня уже есть хорошо обобщенная функция queryMovies, которая запрашивает фильмы по параметру параметров.
Не могли бы вы предложить какой-нибудь хороший способ организации такого кода?
РЕДАКТИРОВАТЬ:
Поскольку это сообщение было удалено, я не могу комментировать или отвечать (только редактировать). Поэтому я добавляю эту ссылку как часть редактирования: https://github.com/johnpapa/angular-ngrx-data
И я думаю, что это отличный вопрос, и я хотел бы больше узнать о подходящих архитектурах / шаблонах для ngRx.