To shallow clone an object, just use the JavaScript spread operator.
To perform a deep clone, make use of lodash deepClone
.
import { cloneDeep as _cloneDeep } from "lodash";
const obj = {
a: "one",
b: "bbb",
deeper: {
name: "blank"
}
};
const shallowClone = {
...obj,
b: "Shallow",
deeper: { name: "Max Shallow" }
};
console.log( shallowClone );
const deepClone = {
..._cloneDeep( obj ),
b: "Deep",
deeper: { name: "Max Deep" }
};
console.log( deepClone );