パフォーマンスガイド
Avonni ダイナミックコンポーネントはデフォルトで高速です。このガイドは、コンポーネントが複雑化してもその状態を維持するのに役立ちます。
最も重要な3つのルール
1. データは一度取得して下に渡す
親コンポーネントが Salesforce に問い合わせるべきです
子コンポーネントはリソースを通じてデータを受け取ります
複数のコンポーネントが同じデータを独立して問い合わせるのは避けてください
2. 必要なものだけ読み込む
クエリでは具体的なフィルターを使ってください(例:RecordType、Status、日付範囲など)。
すべてを一度に読み込むのではなく、条件付き表示でセクションの表示/非表示を切り替えてください
データを即時に読み込む必要があるか、ユーザー操作まで待てるかを検討してください
3. 構造はシンプルに保つ
深くネストされた構造よりもフラットなコンポーネント構造の方がパフォーマンスが良いです
2〜3レベル以上ネストしている場合は、通常もっと単純な方法があります
よくあるパフォーマンスの誤り
❌ 各ネストされたコンポーネントがそれぞれ "On Load" クエリを実行する これによりクエリが連鎖して全体が遅くなります。
✅ 親がデータを取得し、サブセットをリソース経由で子に渡す クエリは1回、複数のコンポーネントがその結果を使います。
❌ データテーブルで最初から50列すべてを読み込むこと ほとんどのユーザーは最初は5〜7個の主要フィールドだけで十分です。
✅ 必須の列だけ表示し、詳細はオンデマンドで表示してください 使用する フローパネルを開く または ダイナミックコンポーネントパネルを開く でレコードの完全な詳細を確認してください。
❌ コンポーネントAがコンポーネントBを更新し、それがコンポーネントAを更新する 無限ループや過剰な再レンダリングを引き起こします。
✅ 一方向のデータフローを設計する 親→子はリソース経由、子→親はイベント経由で通信します。
いつ最適化すべきか
次のような場合はパフォーマンスの問題がある可能性があります:
コンポーネントの読み込みに2〜3秒以上かかる
ユーザーが複数の読み込みスピナーを順番に見る
ブラウザのネットワークタブで1ページ読み込みに対して10件以上の Salesforce クエリが表示される
ブラウザの開発者ツール(Network タブ)を使用する 実際に何が起きているかを確認してください。多数のリクエストや遅いクエリが見られるなら、そこが出発点です。
助けが必要ですか?
多くの Trailblazer が私たちの コミュニティグループ でこれらの課題に取り組んできました。彼らは共有します:
診断を伴うネットワークタブのスクリーンショット
改善前/改善後のアーキテクチャ
大規模データセット向けのクエリパターン
本番環境で実際に効果があったこと
コミュニティに参加する | 直接の質問: [email protected]
最終更新
役に立ちましたか?
