Що таке NgRx?
NgRx - це бібліотека для керування станом в Angular-застосунках. Вона заснована на ідеї Redux: увесь стан зберігається в одному місці і змінюється лише через спеціальні події - actions.
Просто
- Store - це як великий об'єкт, де зберігається весь стан (наприклад, користувач, кошик, налаштування).
- Actions - це команди на кшталт "Додати в кошик" або "Завантажити користувача".
- Reducers - функції, які визначають, як змінюється стан після кожної команди.
- Selectors - щоб зручно брати потрібні частини зі store (наприклад, лише ім'я користувача).
- Effects - для роботи із сервером: якщо потрібно завантажити щось з API, ефект слухає action і робить запит.
Приклад
Ти натиснув «вийти з акаунта» → надсилається logout action → reducer очищає user у store → компонент отримує новий state → Angular сам перемальовує.
Коли потрібен NgRx
- багато різних станів,
- є асинхронна логіка (API),
- потрібно чітко розуміти, що, де і коли змінюється.
Якщо проект маленький - NgRx може бути надлишковим. Але якщо дані складні й залежать від багатьох компонентів - він дає порядок і контроль.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.