меня сводит с ума вопрос
Для чего нужно делать копию стейта в редьюсере? Ну, правила иммутабельности все дела, но если мы делаем копию и возвращаем её, то она же не изменяет основной стейт, или как она его меняет, объясните
ПС
Точнее стейт то меняется, но я не понимаю как
объекты в JS сравниваются по ссылке. и чтобы выяснить, были ли в объекте изменения, гораздо "дешевле" сначала сравнить новый и старый стейт через ===
, чтобы не запускать каждый раз deepEqual
, если на самом деле изменений-то и не было.
если ты возвращаешь новый объект, то у тебя сравнение двух объектов по ссылке возвращает false
, и это уже сигнал, что пора проверять, где же были изменения