---
schema_version: "1"
id: c8a48ba4a4e35b70e8b2809f11cbe5a9b982e954ea53f1f4a53f5355e3770e6d
title: Arrays Proxied When Passed to Child Components
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/lwc/lightning-components-security/guides/locker/locker-array-proxy.md
canonical_url: https://developer.salesforce.com/docs/platform/lightning-components-security/guide/locker-array-proxy.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7cbcdb9e2d5577ace738b81e17374faed348f4c79083899a477a603a3b8d7f5e
products:
  - Security for Lightning Components
  - lwc
---
# Arrays Proxied When Passed to Child Components

When you pass an array to a child component, Lightning Locker wraps the array in a proxy.

JavaScript `Proxy` is used on arrays that are passed to nested components. If you pass an array from a parent component to several layers of nested components, the array is proxied multiple times. When an array consists of many objects, multiple proxies cause a negative performance impact when running functions such as `JSON.stringify` on the array. A page that’s using a component that passes a large array of objects through layers of child components can become unresponsive.

To limit the negative performance impact of processing large arrays, refactor your code using one of these approaches.

- Avoid passing large arrays of objects more than one level down. For example, pass an array from parent to child but no further.
- Divide your data into multiple smaller arrays in the parent component.

[Lightning Web Security (LWS)](https://developer.salesforce.com/docs/platform/lightning-components-security/lws/lws-intro.md) doesn’t have this limitation.

**See Also**

- [How Lightning Locker Uses the Proxy Object](https://developer.salesforce.com/docs/platform/lightning-components-security/guide/locker-proxy.md)
