products который я беру из useContext (мутируется id продукта, копию которого я хочу сделать)?
let newProduct: ProductSchema = JSON.parse(JSON.stringify(getCurrentProduct())); Проблема в том, что объекты в жс передаются по ссылке, а не по значению То есть, когда ты прописываешь getCurrentProduct(), переменной newProduct присваиваешь ссылку на обьект в массиве products, что приводит к мутации основного массива. Чтобы избежать этого нужно сделать глубокую копию обьекта
Или делать нормально )
любое значение по ссылке передается в джс
Спасибо большое!
Предложи, плз
Хехехе конвертить объект в строку а потом обратно в объект чтобы копировать вложенные объекты, хитро взял на вооружение
а главное, что очень эффективный
Точно не уверен но... Вроде есть такие ситуации, когда если такое делаешь, то некоторые данные могут быть потеряны. Вроде не все можно стрингифицировать без потерь. Но может быть я и заблуждаюсь конечно ))
Обсуждают сегодня