Нужно расставить в голове всё по полочкам относительно ngrx. Первое: пожалуйста, объясните простыми словами для чего используется ngrx/entity и ngrx/data. Я читал документацию и составил какое-то представление в голове о том, что это и для чего это нужно, но представление вялое. Второе: допустим, что у меня есть задача сделать приложение, в котором будет список каких-то книг, будет пагинация по страницам, подробная информация о книге, установка различных фильтров для сортировки книг. При всём этом мне нужно сохранять состояние уже прочитанных страниц в пагинации, чтобы не делать лишних запросов на сервер, сохранение состояния фильтров и так далее. Нужно ли мне использовать для этого ngrx, является ли это важной необходимостью в данном случае и облегчит ли задачу? Спасибо.
ngrx вообще не является необходимостью, и каша это нормально, он вызывает массу вопросов, совершенно неоправданных с точки зрения сложности. Т.е. это всего навсего стейт менеджер, он не должен выносить мозг.
Попробуйте просто на сервисах и rx все сделать сначала. Мне акита нравится.
Антон Швец, Я как раз-таки сделал всё с использованием sessionStorage. Я складывал туда все пройденные состояния и брал обратно, когда необходимо. Но я просто не представляю как это реализовать с использованием ngrx, он не умещается у меня в голове. Поэтому ищу адекватное объяснение тому, как работает ngrx/entity и ngrx/data, потому что устал ломать голову над англоязычной документацией,которая представлена у них на сайте. В этом и основной вопрос: как оно работает?
Антон Швец, То есть гораздо лучше будет создать объект в сервисе и использовать его как хранилище состояний?То есть сохранять в него пришедшую с сервера информацию, хранить в нём заданные фильтры и тд.
lssssssssssl, я не говорю что лучше. ngrx призван решать немного другие вопросы.
Но для начала научитесь решать эту задачу без него, чтобы понять зачем он вообще нужен. Это поможет разобраться.
Антон Швец, а зачем ангуляру такое (ngrx)? Разве хранить данные в сервисах не более логично? Через подписчиков передавать данные/реагировать на действия пользователя и т.д. Где оно применимо и для чего?
acwartz, ngrx не является никаким официальным стейт менеджером, он был сделан по подобию редакса, который популярен в react мире.
На тему зачем - https://youtu.be/Azus3_CEkpw