Size: a a a

JavaScript.Ninja

2021 April 26

M

Maksym in JavaScript.Ninja
{...state}?
источник

YS

Yuri Strelets in JavaScript.Ninja
например так
if (action.type === typeFollow) {
 return {
   ...state,
   users: // do something
 }
}
источник

YS

Yuri Strelets in JavaScript.Ninja
ну и if можно на switch заменить
источник

M

Maksym in JavaScript.Ninja
да, знаю так делают,но если много вложеных обьектов и масивов,то запутаться можно, проще сразу всю глибокую копию сделать, не так ли?
источник

YS

Yuri Strelets in JavaScript.Ninja
в вашем случае ничего сверх глубокого не вижу
источник

M

Maksym in JavaScript.Ninja
ну так, в будущем ))
источник

YS

Yuri Strelets in JavaScript.Ninja
которое может и не наступить )))
источник

YS

Yuri Strelets in JavaScript.Ninja
зачем все усложнять раньше времени
источник

M

Maksym in JavaScript.Ninja
ну так не кажется что лучше сразу записать в переменую копию и уже работать с ней сразу?)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Если и делать - то не стрингифаем же)
источник

YS

Yuri Strelets in JavaScript.Ninja
если кажется что лучше и на будущее то ок
источник

M

Maksym in JavaScript.Ninja
а как еще? самый короткый способ)
источник

AE

Alex Elkin🇪🇸 in JavaScript.Ninja
А чем? 😇
источник

YS

Yuri Strelets in JavaScript.Ninja
не городить адскую вложенность
источник

IK

Illya Klymov in JavaScript.Ninja
взять immer )
источник

M

Maksym in JavaScript.Ninja
ну так иногда не знаешь какая там будет вложиность когда запрос делаешь))
источник

VK

Vladimir Klimov in JavaScript.Ninja
В вашем случае это действительно не нужно
Но я бы взял какую-то библиотечную функцию, если бы мне действительно надо было делать глубокие копии
В redux-toolkit замечательно живётся с персистентными структурами (immer), но в вашем случае действительно можно обойтись спредом)
источник

M

Maksym in JavaScript.Ninja
спс за советы)
источник

YS

Yuri Strelets in JavaScript.Ninja
такое может понадобится при обновлении каких-то данных в стейте, но весь стейт так клонить, с таким очень редко сталкивался, какой бы он большой не был
источник

YS

Yuri Strelets in JavaScript.Ninja
т.е. какой смысл делать глубокое клонирование, если меняется только какая-то часть, с тем примером что я привел выше, неизмененные данные заюзаются по ссылке, и обновится только то что нужно, а не будут клонироваться все без необходимости
источник