что бы бекендеров не просить тебе нормальные данные сразу возвращать
Дабы все данные были только в одном месте, без дублирований и избыточности.
офигеть ты тупой
Чтобы избежать копипасты данных, когда у тебя в комментариях в стейте в поле автора тот же чувак что и в стейте в поле юзеров, то это не круто, нормализация позволяет хранить данные по юзеру например в поле юзеров, а в комментариях в поле автора хранить только идешник, а нормализр все это потом соберет
Смотря для чего - нормализация нужна при проектировании таблиц и полей в nosql-базах данных чтобы один и тот объект не нужно было обновлять в разных таблицах, нормализация может понадобиться при передаче вложенных данных на клиент чтобы уменьшить дублирование. Но вот для хранения состояния в javascript нормализация нафиг не нужна потому что приносит с собой кучу неудобств при котором вся логика работы с состоянием приложения будет увешана кодом вытаскивания какого-то объекта по его айдишнику из центрального стора. Вот например - есть нормализованный стейт AppState в виде объекта хеша где хранятся данные по их айдишникам в таблицах: AppState = { comments: { id1: {...}, id2: {...}, id3: {id: 'id3', text: 'comment3', taskId: 'id1'}}, tasks: {...., {id1: {id: 'id1', text: 'task1', comments: ['id1', 'id2']}, projects: {...} folders: {...} } и нам нужно нам где-то в обработчике получить имя папки к которому относится комментарий - что удобней - написать AppState.folders[AppState.projects[AppState.tasks[comment.taskId].projectId].folderId].nameили для варианта без нормализации comment.task.project.folder.name ?
Обсуждают сегодня