Componenti speciali

Questa guida presuppone una conoscenza del funzionamento del routing in uno storefront PWA Kit. Per ulteriori informazioni, consultare la guida Routing.

PWA Kit React SDK include i seguenti componenti speciali: AppConfig, App, Error e Document.

L'implementazione predefinita di ogni componente speciale può essere sostituita dalla versione personalizzata. Ciò consente di configurare e personalizzare il comportamento di più pagine dello storefront.

Di seguito vengono illustrati singolarmente i vari componenti speciali:

Il componente AppConfig è posizionato vicino alla parte alta della gerarchia dei componenti nell'app React. Da questa posizione, consente di inserire codice per configurare e supportare le funzionalità a livello di app, ad esempio la gestione dello stato o l'applicazione di temi ai componenti. In Retail React App, il componente ChakraProvider viene inserito in AppConfig per rendere disponibili i valori dei temi (per colori, spaziatura ecc.) a tutti i componenti di Chakra UI.

Il componente AppConfig consente inoltre di estendere il set di argomenti che vengono passati a tutti i componenti ottimizzati da routeComponent tramite la funzione getProps. Per aggiungere questi argomenti, definire una funzione denominata extraGetPropsArgs come proprietà del componente AppConfig.

Retail React App utilizza la funzione extraGetPropsArgs per dare a tutti i componenti ottimizzati da routeComponent l'accesso a un oggetto per l'interazione con Salesforce Commerce API:

La versione del componente AppConfig di PWA Kit React SDK non produce alcun effetto, a meno che non se ne esegua l'override. Per eseguire l'override della versione SDK di AppConfig, definire un file in app/components/_app-config/index.jsx. Un progetto PWA Kit appena generato include già questo file per consentire all'utente di iniziare rapidamente.

App è un componente secondario di AppConfig. La sua finalità principale è includere qualsiasi componente per layout e IU che persista in qualsiasi punto dell'app React, ad esempio intestazione, piè di pagina e barra laterale.

Il componente App viene ottimizzato inoltre dalla funzione routeComponent. Se si definisce una funzione getProps come proprietà del componente App, essa viene richiamata quando viene renderizzato qualsiasi componente della matrice routes. Utilizzarla per qualsiasi logica che si intende eseguire su ogni pagina.

Come per AppConfig, in PWA Kit React SDK esiste una versione predefinita del componente App, di cui è consigliabile eseguire l'override. Per eseguire l'override della versione SDK di App, definire un file in app/components/_app/index.jsx. Un progetto PWA Kit appena generato include già questo file per consentire all'utente di iniziare rapidamente.

Tra le funzionalità implementate in App per un progetto appena generato vi sono il monitoraggio dei dati di analisi, il rilevamento offline e il componente SkipNavLink per l'accessibilità.

Il componente Error viene renderizzato al posto del componente App nelle seguenti condizioni:

  • L'utente effettua una richiesta di un percorso non trovato nella matrice routes.
  • Un componente della matrice routes restituisce un errore nella propria funzione getProps.
  • Un componente della matrice routes restituisce un errore durante il rendering.

Quando viene restituito il componente Error, nell'intestazione della risposta viene incluso anche uno stato HTTP 404.

Come per gli altri componenti speciali, PWA Kit React SDK include una versione predefinita del componente Error, di cui è consigliabile eseguire l'override. Per eseguire l'override della versione SDK di Error, definire un file in app/components/_error/index.jsx. Un progetto PWA Kit appena generato include già questo file per consentire all'utente di iniziare rapidamente.

Sostituendo il componente Error, è possibile eseguire operazioni quali la personalizzazione della pagina di errore per il proprio brand, l'aggiunta di reindirizzamenti e il monitoraggio dell'errore come evento di analisi.

Il componente Document definisce l'HTML che circonda l'applicazione, ad esempio i tag <html>, <head> e <body>.

Come per gli altri componenti speciali, PWA Kit React SDK include una versione predefinita del componente Document, che può essere sostituita. In questo caso, tuttavia, l'override non è consigliato. Se invece si desidera un controllo più preciso dell'applicazione, è possibile eseguire l'override del componente Document definendo un file in app/components/_document/index.jsx. Un progetto PWA Kit appena generato non include questo file.

Anziché eseguire l'override del componente Document, si consiglia di utilizzare la libreria React Helmet per modificare i tag HTML in Document, ad esempio <head>.