子コンポーネントに渡されるときにプロキシ化される配列
配列を子コンポーネントに渡すと、Lightning Locker によってプロキシで配列がラップされます。
JavaScript Proxy
はネストされたコンポーネントに渡される配列で使用されます。配列を親コンポーネントからネストされたコンポーネントの複数のレイヤに渡す場合、配列は複数回プロキシされます。配列が多数のオブジェクトで構成される場合、複数のプロキシがあると、配列で JSON.stringify
などの関数を実行したときのパフォーマンスに悪影響を与えます。ページで子コンポーネントのレイヤを経由してオブジェクトの大きな配列を渡すコンポーネントを使用していると、応答しなくなる場合があります。
大きな配列の処理のパフォーマンスに対する悪影響を抑えるには、次のいずれかの方法でコードを再構成します。
- オブジェクトの大きな配列を 2 レベル以上下に渡さないようにする。たとえば、配列を親から子には渡しますが、それ以上下には渡さないようにします。
- データを親コンポーネントで複数の小さな配列に分割する。
Lightning Web セキュリティ (LWS) には、この制限がありません。