Skip to content

Maybe update docs #1123

Open
Open
@olegdunkan

Description

@olegdunkan

🙋‍♂ Question


const a = { id: 1 };
const b = { id: 2, children: [a] };

const objs = { 1: a, 2: b };

const fn = produce((draft) => {
  draft[2].children[0].x = 1;
});

const r = fn(objs);

console.log(r[1]); // {id:1}
console.log(r[2].children[0]); //{id:1, x:1}


In two places of objs we have two pointers to the same object a but when we change it in one place we treat it like two different objects.

I expected that to be

console.log(r[1]); // {id:1, x:1}
console.log(r[2].children[0]); //{id:1, x:1}

I didn't find anything about that in docs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions