Skip to content

Cannot .push() to a reactive Array that is wrapped in a Proxy #9742

Closed
@jsormaz

Description

@jsormaz

Vue version

3.3.9

Link to minimal reproduction

https://play.vuejs.org/#eNp9UktPwzAM/itWLgxp6gTcxkOCiQMcYAJuhENVTBdIkyhxtqGq/x0nZSvP3RJ/D3+O04pz54plRDEVJ6HyyhEEpOjOpFGNs56gBY9lRWqJ0MGLtw3sMX/vWBppJhOYMUoI5cAqvS/fpamsCQTWq1qZUp+nIpxuWaPHp/1fFnNv1++st9E8Ay3wH0+XaBtDg6teN/rWagxtt20wj2GhTA2osUFDAchm+02/7D24Fo75o4Mk/1k87D1TDqux0LYeDZT9Y+Bmt5FcpCk8Hozh8Emak0n/rvyifCFsnOZp+TZbYPUGF96uAnqY9ZafcmnadjDuuqydfBGLsaDAMV5UXbwGa3h/rTQAUlS2cUqjv3Wk2FOKKWQkYaXWdnWda+Qjjjf1KkX5o/4a1qkmxdwjh1yiFFuMSl8j9fDl/Q2u+bwFG/scNbN3gHfI88aUsadd8NI59hdeTnuVfyFv7yFcrglN2AyVgiZml/lS8Kec7Rh9iHtUHGWdNJ3oPgATiAqt

Steps to reproduce

Wrapping a reactive in a Proxy (to allow for customizing traps etc.) generally works, however if I wrap an array and then try to .push onto the array, I get a maximum call stack error.

The reproduction has just a basic Proxy with an empty handler for demonstration purposes, in actual use, the handler would have some traps defined.

What is expected?

able to push to array

What is actually happening?

Maximum Call Stack Error

System Info

No response

Any additional comments?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐞 bugSomething isn't workinghas PRA pull request has already been submitted to solve the issuescope: reactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions