JSFiddle - React, Tailwind, and code Playground
JavaScript
// для того, чтобы изменения объекта
// через одную переменную не были видны
// в других переменных, необходимо
// клонировать объекты, а не передавать
// по ссылке
// самая примитивная функция
function clone(obj){
if (typeof obj !== 'object') return null;
var temp = {}; // временный объект
for (var key in obj) {
temp[key] = obj[key];
}
return temp;
}
var foo = { a: 1 };
var bar = clone(foo);
(bar.a)++;
document.body.innerHTML = foo.a +"<br>";
document.body.innerHTML += bar.a +"<br>";