# react-native: declareVar URL: https://generaltranslation.com/it/docs/react-native/api/strings/declare-var.mdx --- title: declareVar description: Riferimento API per la funzione declareVar() per le stringhe --- {/* GENERATO AUTOMATICAMENTE: non modificare direttamente. Modifica invece il template in content/docs-templates/. */} ## Panoramica La funzione `declareVar` è l'equivalente per le stringhe del componente `` quando si usa `derive`. Contrassegna i contenuti dinamici all'interno del contenuto di `derive` che devono essere esclusi dal calcolo dell'hash e gestiti come variabili in runtime. ```jsx function Component() { function getGreeting(name) { return "Hello, " + declareVar(name); } // Risultato: "Hello, {_gt_, select, other {Brian}}" gt(`${derive(getGreeting(name))}. How are you?`); // Risultato: "Hello, Brian. How are you?" return

{message}

; } ``` `declareVar` racchiude il contenuto dinamico in un segnaposto compatibile con ICU che in runtime si risolve nel valore originale. Se vuoi rimuovere i marcatori ICU, puoi usare [`decodeVars`](/docs/react-native/api/strings/decode-vars). **Marcatori ICU:** `declareVar` aggiunge marcatori compatibili con ICU al testo di origine. Usa `decodeVars` per estrarre il valore originale, se necessario per l'elaborazione delle stringhe. ## Riferimento ### Parametri | Name | Type | Description | | --------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | `value` | ` value \| string \| number \| boolean\| undefined \| null` | Il valore dinamico da contrassegnare come variabile. | | `options?` | `Object` | Le opzioni per la funzione `declareVar`. | | `options.$name` | `string` | Il nome della variabile, per fornire contesto alla traduzione. (Simile alla prop `name` del componente ``) | ### Restituisce Una stringa contenente marcatori compatibili con ICU che conserva il valore originale e viene risolta in fase di runtime. *** ## Comportamento ### Marcatura delle variabili Quando `declareVar` racchiude un valore: 1. Converte il valore nel formato di un'istruzione `select` ICU 2. Lo contrassegna come contenuto dinamico per l'elaborazione della traduzione 3. Lo esclude dal calcolo dell'hash di traduzione 4. Mantiene il valore originale per l'interpolazione a runtime ### Formato ICU La funzione restituisce stringhe compatibili con il formato ICU MessageFormat: ```jsx declareVar("John") // → "{_gt_, select, other {John}}" ``` *** ## Esempio ### Utilizzo di base Contrassegna il contenuto dinamico nelle funzioni statiche. ```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}

; } ``` ### Con altre funzioni ICU Puoi usare `declareVar` con altre funzioni ICU per creare stringhe più complesse. ```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}

; // Risultato: "Hello, Brian! My name is Archie" } ``` *** ## Note * Usa `declareVar` solo all'interno di funzioni chiamate da `derive` * La funzione aggiunge marcatori ICU che possono interferire con l'elaborazione delle stringhe * Usa `decodeVars` per estrarre i valori originali quando necessario * Le variabili sono escluse dalla traduzione e mantenute inalterate a runtime ## Passaggi successivi * Vedi [`derive`](/docs/react-native/api/strings/derive) per creare chiamate a funzioni statiche nelle stringhe * Vedi [`decodeVars`](/docs/react-native/api/strings/decode-vars) per estrarre i valori originali * Vedi [``](/docs/react-native/api/components/var) per l'equivalente in JSX