Пример NGRX и вложенных отношений - PullRequest
0 голосов
/ 16 октября 2018

Есть ли у кого-нибудь пример использования NGRX со связанными / вложенными данными глубиной более 1 уровня?Кажется, есть только простые примеры использования ngrx, и я еще не видел пример из реального мира?

В настоящее время я удалил ngrx из своего проекта, так как кажется, что требуется много времени, чтобы попытаться выяснить на продвинутом уровне с отсутствием документации или примера более чем 1 таблицы, я пытался использовать сущностино замедлил разработку и до сих пор не имеет ни малейшего понятия, как использовать связанные объекты.1 уровень - не проблема, но несколько уровней, кажется, могут усложнить ситуацию.

Я хотел бы увидеть пример с несколькими таблицами и взаимосвязями.Также, кажется, я заменил forkJoin с отправкой нескольких действий?Есть ли способ отправить несколько действий как одно действие, такое как загрузка задач, загрузка пользователей, загрузка контрактов?

Моя структура выглядит так:

Task
-TaskId
-Title
-AssignedToUser (User)
-Attachments (Array of Attachments)
-Comments (Array of Comments)
-Reviewers (Array of Users)
-Approvers (Array of Users)

Comment
-CommentId
-CommentText
-User (User)


User 
-UserId
-Name
-Contracts (Array of Contracts)
-Roles (array of Roles)


Contract
-ContractId
-ContractName

Role
-RoleId
-RoleName

Данные из веб-интерфейса вложены в json, поэтому я не уверен, как преобразовать, создайте селекторы для всего этого, так что если у кого-то естьобразец, который похож, что было бы очень полезно.Я понимаю большую часть NGRX, но не понимаю, как создавать селекторы для всего этого.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

После некоторого исследования и дальнейших поисков, я думаю, что я больше ищу библиотеку типа Normalizr : https://github.com/paularmstrong/normalizr и нашел пост в Redux, который объясняет больше о вложенных данных:

https://redux.js.org/recipes/structuringreducers/normalizingstateshape

0 голосов
/ 16 октября 2018

Итак, во-первых, вам нужно понять, что не стоит помещать все в Магазин.Это не ваша локальная база данных.

В Интернете есть несколько постов, в которых говорится о том, когда не следует использовать Store, и которые могут быть полезны для ознакомления.

И, во-вторых, структура государствадолжно быть настолько простым, насколько это возможно, иначе вы скоро столкнетесь с проблемами мутаций, так как я уверен, что вы знаете, что штат должен быть неизменным.Если вы вкладываете слишком много уровней в State, то каждый раз, когда вы хотите изменить крошечный фрагмент на самом глубоком уровне, это будет болезненно.

Наконец, я поделился одним фрагментом структуры State из проекта I 'Я недавно работал над.Не очень полезно для вас, но просто хочу показать, как может выглядеть реальное состояние проекта.

enter image description here

...