Angular: зрозуміле введення в NGRX

Мета цієї статті – дати чисте і чітке уявлення про ngrx. Для цього я поясню, що потрібно знати і розуміти про ngrx, а потім ми побачимо це в дії з простими і зрозумілими прикладами коду.

Що таке NGRX

NGRX – це група бібліотек, «натхнених» шаблоном Redux, який, в свою чергу, «натхненний» шаблоном Flux. Простіше кажучи, це означає, що шаблон Redux є спрощеною версією Flux шаблону, а NGRX – angular / rxjs версією Redux шаблону.

Що я маю на увазі під «angular / rxjs» версією redux … «angular» частина полягає в тому, що ngrx – це бібліотека для використання в додатках angular. Частина «rxjs» полягає в тому, що реалізація ngrx працює навколо потоку rxjs. Це означає, що він працює з використанням спостережуваних і різних спостережуваних операторів, що надаються «rxjs». Детальніше – тут: https://itvdn.com/ru/video/angular-advanced.

Основною метою цієї схеми є забезпечення передбачуваного стану контейнера, заснованого на трьох основних принципах. Давайте розглянемо три принципу моделі Redux і вкажемо на найбільш важливі переваги, які вони дають.

Єдине джерело правди

У випадку з архітектурою redux / ngrx це означає, що стан всього вашого застосування зберігається в дереві об’єктів в межах одного сховища.
В одному сховищі? Про сховищах ми поговоримо пізніше, але для загального розуміння, вони несуть відповідальність за збереження стану і застосування до нього змін, коли їм говорять про це (коли відправляється дію, ми також поговоримо про них пізніше).

Переваги наявності одного джерела правди численні, але для мене найбільш цікавим (бо це те, що буде впливати на будь-який angular додаток) є наступне:

Коли ви створюєте додаток Angular, зазвичай ви поділяєте стан і обробляєте кілька сервісів. У міру того, як ваш додаток зростає, відстежувати зміни вашого стану, стає все складніше і складніше і в підсумку воно ставати безладним, його складно налагоджувати і поддержівать.Налічіе єдиного джерела правди вирішує цю проблему, оскільки стан обробляється тільки в одному об’єкті і в одному місці, тому налагодження або додавання змін стає набагато простіше.

Стан read-only (тільки для читання)

Ви ніколи не зміните стан безпосередньо, замість цього ви будете відправляти дії, які описують дії з об’єктом (це можуть бути такі речі, як отримання, додавання, видалення або оновлення стану).

Надіслати дію? .. Ми поговоримо про дії пізніше, але для загального розуміння, це ідентифікатори операції над вашим додатком, і вони можуть бути запущені (або відправлені), щоб повідомити додатком виконати операцію, яку представляє дію.

Уникаючи постійно оновлювався з різних місць і маючи централізоване місце для внесення змін, яке реагує на конкретні дії, ви отримуєте багато переваг. Не кажучи вже про найважливіші:

Ви знаєте, що будь-яка зміна в стані відбудеться тільки в одному місці. Це дуже впливає на налагодження і тестування. Ви знаєте, що якщо надсилається певним чином впливати, то операція в стані завжди одна і та ж. Знову ж таки, це безпосередньо впливає на налагодження і тестування.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *