Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Ce document n'est pas à jour, la version de base a été mise à jour le 23 août 2025.
Aller à la doc anglaiseHistorique des versions
- "Historique initial"v5.5.1029/06/2025
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Récupération par Fonction
Intlayer vous permet de déclarer des fonctions de contenu dans vos modules de contenu, qui peuvent être soit synchrones, soit asynchrones. Lors de la construction de l'application, Intlayer exécute ces fonctions pour obtenir le résultat de la fonction. La valeur retournée doit être un objet JSON ou une valeur simple comme une chaîne de caractères ou un nombre.
Attention : la récupération par fonction n'est actuellement pas disponible dans la déclaration de contenu JSON ni dans les fichiers de déclaration de contenu distant.
Déclarations de Fonction
Voici un exemple d'une fonction simple et synchrone récupérant du contenu :
Copier le code dans le presse-papiers
import type { Dictionary } from "intlayer";
const functionContent = {
key: "function_content",
content: {
text: () => "This is the content rendered by a function",
},
} satisfies Dictionary;
export default functionContent;Dans cet exemple, la clé text contient une fonction qui retourne une chaîne de caractères. Ce contenu peut être rendu dans vos composants React en utilisant les packages interprètes d'Intlayer comme react-intlayer.
Récupération de Fonction Asynchrone
En plus des fonctions synchrones, Intlayer prend en charge les fonctions asynchrones, ce qui vous permet de récupérer des données depuis des sources externes ou de simuler la récupération de données avec des données factices.
Voici un exemple d'une fonction asynchrone qui simule une récupération depuis un serveur :
Copier le code dans le presse-papiers
import { setTimeout } from "node:timers/promises";
import type { Dictionary } from "intlayer";
const fakeFetch = async (): Promise<string> => {
// Attendre 200ms pour simuler une récupération depuis le serveur
return await setTimeout(200).then(
() => "Ceci est le contenu récupéré depuis le serveur"
);
};
const asyncFunctionContent = {
key: "async_function",
content: { text: fakeFetch },
} satisfies Dictionary;
export default asyncFunctionContent;Dans ce cas, la fonction fakeFetch imite un délai pour simuler le temps de réponse du serveur. Intlayer exécute la fonction asynchrone et utilise le résultat comme contenu pour la clé text.
Utilisation de contenu basé sur une fonction dans les composants React
Pour utiliser un contenu basé sur une fonction dans un composant React, vous devez importer useIntlayer depuis react-intlayer et l'appeler avec l'ID du contenu pour récupérer ce contenu. Voici un exemple :
Copier le code dans le presse-papiers
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>
{/* Sortie : Ceci est le contenu rendu par une fonction */}
<p>{asyncFunctionContent.text}</p>
{/* Sortie : Ceci est le contenu récupéré depuis le serveur */}
</div>
);
};
export default MyComponent;