Що означає нормалізація стану?
Нормалізація стану - це спосіб зберігати дані в стані (store, сервісі тощо) у вигляді пласкої, зв'язаної структури, а не як вкладені об'єкти.
Навіщо це потрібно: щоб спростити оновлення, пошук і синхронізацію між пов'язаними сутностями.
Приклад
Приклад без нормалізації:
ts
{
users: [
{ id: 1, name: 'Maria', posts: [{ id: 10, title: 'Hello' }] }
]
}Якщо пост змінився, доводиться шукати його глибоко всередині масиву користувачів.
Після нормалізації:
ts
{
users: { 1: { id: 1, name: 'Maria', posts: [10] } },
posts: { 10: { id: 10, title: 'Hello' } }
}Тепер можна легко оновити конкретний пост за id без зачіпання всього дерева.
Ідея така сама, як у реляційній БД: кожна сутність - свій «табличний» словник (entities), а зв'язки виражаються через ідентифікатори.
Результат
- простіше оновлювати й кешувати дані,
- менше повторень,
- чистіша логіка при синхронізації з сервером,
- менше перемальовувань при змінах.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.