Il contenuto di questa pagina è stato tradotto con un'IA.

    Vedi l'ultima versione del contenuto originale in inglese

    Funzione di Recupero

    Intlayer consente di dichiarare funzioni di contenuto nei tuoi moduli di contenuto, che possono essere sincrone o asincrone. Quando l'applicazione viene costruita, Intlayer esegue queste funzioni per ottenere il risultato della funzione. Il valore restituito deve essere un oggetto JSON o un valore semplice come una stringa o un numero.

    Avviso: il recupero delle funzioni non è attualmente disponibile nella dichiarazione di contenuti JSON e nei file di dichiarazione di contenuti remoti.

    Dichiarazioni di Funzioni

    Ecco un esempio di una semplice funzione sincrona per il recupero del contenuto:

    **/*.content.ts
    import type { Dictionary } from "intlayer";const functionContent = {  key: "function_content",  content: {    text: () => "Questo è il contenuto reso da una funzione",  },} satisfies Dictionary;export default functionContent;

    In questo esempio, la chiave text contiene una funzione che restituisce una stringa. Questo contenuto può essere reso nei tuoi componenti React utilizzando i pacchetti interprete di Intlayer come react-intlayer.

    Recupero di Funzioni Asincrone

    Oltre alle funzioni sincrone, Intlayer supporta funzioni asincrone, consentendo di recuperare dati da fonti esterne o simulare il recupero di dati con dati mock.

    Di seguito è riportato un esempio di una funzione asincrona che simula un recupero dal server:

    **/*.content.ts
    import { setTimeout } from "node:timers/promises";import type { Dictionary } from "intlayer";const fakeFetch = async (): Promise<string> => {  // Attendi 200ms per simulare un recupero dal server  return await setTimeout(200).then(    () => "Questo è il contenuto recuperato dal server"  );};const asyncFunctionContent = {  key: "async_function",  content: { text: fakeFetch },} satisfies Dictionary;export default asyncFunctionContent;

    In questo caso, la funzione fakeFetch simula un ritardo per simulare il tempo di risposta del server. Intlayer esegue la funzione asincrona e utilizza il risultato come contenuto per la chiave text.

    Utilizzo di Contenuti Basati su Funzioni nei Componenti React

    Per utilizzare contenuti basati su funzioni in un componente React, è necessario importare useIntlayer da react-intlayer e chiamarlo con l'ID del contenuto per recuperare il contenuto. Ecco un esempio:

    **/*.jsx
    import type { FC } from "react";import { useIntlayer } from "react-intlayer";const MyComponent: FC = () => {  const functionContent = useIntlayer("function_content");  const asyncFunctionContent = useIntlayer("async_function_content");  return (    <div>      <p>{functionContent.text}</p>      {/* Output: Questo è il contenuto reso da una funzione */}      <p>{asyncFunctionContent.text}</p>      {/* Output: Questo è il contenuto recuperato dal server */}    </div>  );};export default MyComponent;

    Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.

    Collegamento GitHub alla documentazione