gt-react@10.8.0
Panoramica
In gt-react 10.8.0 abbiamo aggiunto il supporto per i feature flag tramite il campo enableI18n. Questo consente di disabilitare in modo condizionale l'internazionalizzazione, con supporto sia per pattern di caricamento sincroni che asincroni.
Comportamento sincrono
Quando enableI18n è impostato su false, la funzionalità i18n viene disabilitata:
- Impostando l'elenco delle locale in modo che contenga solo la locale predefinita
- Impostando la locale dell'utente sulla locale predefinita
<GTProvider enableI18n={false}>
{/* i18n disabilitato - disponibile solo la locale predefinita */}
</GTProvider>Comportamento asincrono
Per i flag delle funzionalità dinamici, usa enableI18nLoaded per indicare lo stato di caricamento:
<GTProvider
enableI18n={featureFlag}
enableI18nLoaded={isLoaded}
>
{/* Contenuto */}
</GTProvider>Quando enableI18nLoaded non è undefined:
false: il feature flag è in fase di caricamento (usa il valore predefinito dienableI18n)true: il feature flag ha terminato il caricamento
Durante il caricamento, la libreria controlla il cookie generaltranslation.enable-i18n per determinare lo stato attuale. Una volta completato il caricamento, il valore esplicito di enableI18n ha la precedenza.
Considerazioni su SSG/SSR
Con SSG, il primo ciclo di render viene sacrificato quando il valore predefinito di enableI18n è false, poiché la generazione statica non può determinare a runtime lo stato del feature flag.
SSR al momento si comporta in modo simile, anche se prevediamo di aggiungere un supporto SSR completo per Next.js Pages Router in future release. Per Next.js App Router, usa invece gt-next.