Skip to main content

Що таке NgRx?

NgRx - це бібліотека для керування станом в Angular-застосунках. Вона заснована на ідеї Redux: увесь стан зберігається в одному місці і змінюється лише через спеціальні події - actions.

Просто

  1. Store - це як великий об'єкт, де зберігається весь стан (наприклад, користувач, кошик, налаштування).
  2. Actions - це команди на кшталт "Додати в кошик" або "Завантажити користувача".
  3. Reducers - функції, які визначають, як змінюється стан після кожної команди.
  4. Selectors - щоб зручно брати потрібні частини зі store (наприклад, лише ім'я користувача).
  5. Effects - для роботи із сервером: якщо потрібно завантажити щось з API, ефект слухає action і робить запит.

Приклад

Ти натиснув «вийти з акаунта» → надсилається logout action → reducer очищає user у store → компонент отримує новий state → Angular сам перемальовує.

Коли потрібен NgRx

  • багато різних станів,
  • є асинхронна логіка (API),
  • потрібно чітко розуміти, що, де і коли змінюється.

Якщо проект маленький - NgRx може бути надлишковим. Але якщо дані складні й залежать від багатьох компонентів - він дає порядок і контроль.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.