View a markdown version of this page

Dipendenze dai dati e considerazioni sulla tempistica - AWS App Studio

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Dipendenze dai dati e considerazioni sulla tempistica

Quando si creano applicazioni complesse in App Studio, è fondamentale comprendere e gestire le dipendenze dei dati tra i diversi componenti dei dati, come moduli, visualizzazioni di dettaglio e componenti basati sull'automazione. I componenti e le automazioni dei dati potrebbero non completare il recupero o l'esecuzione dei dati contemporaneamente, il che può portare a problemi di tempistica, errori e comportamenti imprevisti. Conoscendo i potenziali problemi di tempistica e seguendo le best practice, puoi creare esperienze utente più affidabili e coerenti nelle tue applicazioni App Studio.

Alcuni potenziali problemi sono i seguenti:

  1. Conflitti relativi ai tempi di rendering: i componenti dei dati possono essere visualizzati in un ordine non allineato alle rispettive dipendenze tra i dati, causando potenzialmente incoerenze o errori visivi.

  2. Tempi di esecuzione dell'automazione: le attività di automazione possono essere completate prima che i componenti siano stati caricati completamente, con conseguenti errori di esecuzione in fase di esecuzione.

  3. Arresto anomalo dei componenti: i componenti alimentati dalle automazioni possono bloccarsi in caso di risposte non valide o quando l'automazione non ha terminato l'esecuzione.

Esempio: dettagli dell'ordine e informazioni sui clienti

Questo esempio dimostra come le dipendenze tra i componenti dei dati possono portare a problemi di tempistica e potenziali errori nella visualizzazione dei dati.

Considerate un'applicazione con i due seguenti componenti di dati sulla stessa pagina:

  • Un componente Detail (orderDetails) che recupera i dati degli ordini.

  • Un componente Detail (customerDetails) che mostra i dettagli del cliente relativi all'ordine.

In questa applicazione, ci sono due campi nel componente di orderDetails dettaglio, configurati con i seguenti valori:

// 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

In questo esempio, il orderDetails componente sta tentando di visualizzare il nome del cliente facendo riferimento ai dati del customerDetails componente. Ciò è problematico, perché il orderDetails componente può essere renderizzato prima che abbia recuperato i customerDetails dati. Se il recupero dei dati del customerDetails componente è ritardato o non riesce, il orderDetails componente visualizzerà informazioni incomplete o errate.

Best practice in materia di dipendenza e tempistica dei dati

Utilizza le seguenti best practice per mitigare i problemi di dipendenza e tempistica dei dati nella tua app App Studio:

  1. Usa il rendering condizionale: esegui il rendering dei componenti o visualizza i dati solo dopo averne confermato la disponibilità. Usa le istruzioni condizionali per verificare la presenza dei dati prima di visualizzarli. Il frammento seguente mostra un esempio di dichiarazione condizionale:

    {{ui.someComponent.data ? ui.someComponent.data.fieldName : "Loading..."}}
  2. Gestisci la visibilità dei componenti secondari: per componenti come Stepflow, Form o Detail che eseguono il rendering dei componenti secondari prima del caricamento dei dati, imposta manualmente la visibilità dei componenti secondari. Il frammento seguente mostra un esempio di impostazione della visibilità in base alla disponibilità dei dati del componente principale:

    {{ui.parentComponent.data ? true : false}}
  3. Usa le query di unione: quando possibile, usa le query di join per recuperare i dati correlati in una singola query. Ciò riduce il numero di recuperi di dati separati e minimizza i problemi di tempistica tra i componenti dei dati.

  4. Implementa la gestione degli errori nelle automazioni: implementa una solida gestione degli errori nelle tue automazioni per gestire con facilità gli scenari in cui i dati previsti non sono disponibili o vengono ricevute risposte non valide.

  5. Usa il concatenamento opzionale: quando accedi alle proprietà annidate, usa il concatenamento opzionale per evitare errori se una proprietà principale non è definita. Il frammento seguente mostra un esempio di concatenamento opzionale:

    {{ui.component.data?.[0]?.fieldSystemName}}