# react-native: declareVar URL: https://generaltranslation.com/fr/docs/react-native/api/strings/declare-var.mdx --- title: declareVar description: Référence de l’API pour la fonction declareVar() de type chaîne de caractères --- {/* GÉNÉRÉ AUTOMATIQUEMENT : ne modifiez pas directement. Modifiez plutôt le template dans content/docs-templates/. */} ## Vue d’ensemble La fonction `declareVar` est l’équivalent sous forme de chaîne de caractères du composant `` lorsque vous utilisez `derive`. Elle marque le contenu dynamique dans le contenu `derive` qui doit être exclu des calculs de hachage et traité comme une variable à l’exécution. ```jsx function Component() { function getGreeting(name) { return "Hello, " + declareVar(name); } // Résultat : "Hello, {_gt_, select, other {Brian}}" gt(`${derive(getGreeting(name))}. How are you?`); // Résultat : "Hello, Brian. How are you?" return

{message}

; } ``` `declareVar` encapsule le contenu dynamique dans un espace réservé compatible avec ICU, qui est remplacé par sa valeur d’origine à l’exécution. Si vous souhaitez supprimer les marqueurs ICU, vous pouvez utiliser [`decodeVars`](/docs/react-native/api/strings/decode-vars). **Marqueurs ICU :** `declareVar` ajoute des marqueurs compatibles avec ICU au texte source. Utilisez `decodeVars` pour extraire la valeur d’origine si nécessaire au traitement de la chaîne de caractères. ## Référence ### Paramètres | Nom | Type | Description | | --------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | | `value` | ` value \| chaîne de caractères \| number \| boolean\| undefined \| null` | Valeur dynamique à marquer comme variable. | | `options?` | `Object` | Options de la fonction `declareVar`. | | `options.$name` | `string` | Nom de la variable, pour le contexte de traduction. (Semblable à la prop `name` du composant ``) | ### Renvoie Une chaîne de caractères contenant des marqueurs compatibles avec ICU, qui conserve la valeur d’origine et est résolue à l’exécution. *** ## Fonctionnement ### Marquage des variables Lorsque `declareVar` encapsule une valeur, il : 1. Convertit la valeur au format d’instruction ICU `select` 2. La marque comme contenu dynamique pour le traitement des traductions 3. L’exclut du calcul des hachages de traduction 4. Préserve la valeur d’origine pour l’interpolation à l’exécution ### Format ICU La fonction renvoie des chaînes de caractères compatibles avec ICU MessageFormat : ```jsx declareVar("John") // → "{_gt_, select, other {John}}" ``` *** ## Exemple ### Utilisation de base Marquez le contenu dynamique au sein de fonctions statiques. ```jsx copy import { derive, declareVar, gt } from 'gt-react-native'; function getGreeting(name) { return `Hello, ${declareVar(name)}!`; } function Component() { const name = "Brian"; const message = gt(`${derive(getGreeting(name))} Welcome back.`); return

{message}

; } ``` ### Avec d’autres fonctions ICU Vous pouvez utiliser `declareVar` avec d’autres fonctions ICU pour créer des chaînes de caractères plus complexes. ```jsx copy import { declareVar, derive, useGT } from 'gt-react-native'; function Component({ name1, name2 }) { const gt = useGT(); const message = gt("Hello, {name1}! My name is " + derive(declareVar(name2)), { name1 }); return

{message}

; // Résultat : "Hello, Brian! My name is Archie" } ``` *** ## Remarques * Utilisez `declareVar` uniquement dans les fonctions appelées par `derive` * La fonction ajoute des marqueurs ICU qui peuvent perturber le traitement des chaînes de caractères * Utilisez `decodeVars` pour extraire les valeurs d'origine si nécessaire * Les variables sont exclues de la traduction et préservées à l'exécution ## Étapes suivantes * Consultez [`derive`](/docs/react-native/api/strings/derive) pour créer des appels de fonction statiques dans des chaînes de caractères * Consultez [`decodeVars`](/docs/react-native/api/strings/decode-vars) pour extraire les valeurs d’origine * Consultez [``](/docs/react-native/api/components/var) pour l’équivalent en JSX