Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

データの依存関係とタイミングに関する考慮事項

フォーカスモード
データの依存関係とタイミングに関する考慮事項 - AWS App Studio

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

App Studio で複雑なアプリケーションを構築する場合、フォーム、詳細ビュー、自動化を活用したコンポーネントなど、さまざまなデータコンポーネント間のデータ依存関係を理解し、管理することが重要です。データコンポーネントとオートメーションは、データの取得または実行を同時に完了しない可能性があり、タイミングの問題、エラー、予期しない動作につながる可能性があります。潜在的なタイミングの問題を認識し、ベストプラクティスに従うことで、App Studio アプリケーションでより信頼性が高く一貫性のあるユーザーエクスペリエンスを作成できます。

潜在的な問題は次のとおりです。

  1. レンダリングタイミングの競合: データコンポーネントは、データの依存関係と一致しない順序でレンダリングされ、視覚的な不整合やエラーが発生する可能性があります。

  2. オートメーション実行のタイミング: コンポーネントが完全にロードされる前にオートメーションタスクが完了し、ランタイム実行エラーが発生する可能性があります。

  3. コンポーネントのクラッシュ: オートメーションを搭載したコンポーネントは、無効なレスポンスやオートメーションの実行が完了していない場合にクラッシュする可能性があります。

例: 注文の詳細と顧客情報

この例では、データコンポーネント間の依存関係がタイミングの問題やデータ表示の潜在的なエラーにどのようにつながるかを示します。

同じページに次の 2 つのデータコンポーネントがあるアプリケーションを考えてみましょう。

  • 注文データを取得する詳細コンポーネント (orderDetails)。

  • 注文に関連する顧客の詳細を表示する詳細コンポーネント (customerDetails)。

このアプリケーションでは、orderDetails詳細コンポーネントに次の値で設定された 2 つのフィールドがあります。

// 2 text fields within the orderDetails detail component // Info from orderDetails Component {{ui.orderDetails.data[0].name}} // Info from customerDetails component {{ui.customerDetails.data[0].name}} // Problematic reference

この例では、orderDetailsコンポーネントは、customerDetailsコンポーネントからのデータを参照して顧客名を表示しようとしています。これは問題です。orderDetailsコンポーネントがデータを取得する前にcustomerDetailsコンポーネントがレンダリングされる可能性があるためです。customerDetails コンポーネントデータの取得が遅延または失敗した場合、orderDetailsコンポーネントは不完全または誤った情報を表示します。

データの依存関係とタイミングのベストプラクティス

次のベストプラクティスを使用して、App Studio アプリのデータ依存関係とタイミングの問題を軽減します。

  1. 条件付きレンダリングを使用する: コンポーネントをレンダリングするか、データが利用可能であることを確認した場合にのみデータを表示します。条件ステートメントを使用して、データを表示する前にデータの存在を確認します。次のスニペットは、条件ステートメントの例を示しています。

    {{ui.someComponent.data ? ui.someComponent.data.fieldName : "Loading..."}}
  2. 子コンポーネントの可視性の管理: データがロードされる前に子をレンダリングする Stepflow、Form、Detail などのコンポーネントについては、子コンポーネントの可視性を手動で設定します。次のスニペットは、親コンポーネントのデータの可用性に基づいて可視性を設定する例を示しています。

    {{ui.parentComponent.data ? true : false}}
  3. 結合クエリを使用する: 可能な場合は、結合クエリを使用して 1 つのクエリで関連データを取得します。これにより、個別のデータフェッチの数が減少し、データコンポーネント間のタイミングの問題が最小限に抑えられます。

  4. オートメーションにエラー処理を実装する: オートメーションに堅牢なエラー処理を実装して、予想されるデータが利用できない、または無効なレスポンスが受信されるシナリオを適切に管理します。

  5. オプションの連鎖を使用する: ネストされたプロパティにアクセスするときは、オプションの連鎖を使用して、親プロパティが未定義の場合にエラーを防止します。次のスニペットは、オプションの連鎖の例を示しています。

    {{ui.component.data?.[0]?.fieldSystemName}}
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.