# react-native: Componentes de variable URL: https://generaltranslation.com/es/docs/react-native/guides/variables.mdx --- title: Componentes de variable description: Cómo usar componentes de variable para contenido dinámico en las traducciones --- {/* GENERADO AUTOMÁTICAMENTE: No edites esto directamente. Edita la plantilla en content/docs-templates/. */} Los componentes de variable te permiten incluir contenido dinámico de forma segura dentro de los componentes [``](/docs/react-native/api/components/t). Gestionan el formato y la localización de forma local, sin enviar esos datos a la API de traducción, lo que los hace ideales para información sensible, como nombres de usuario, números de cuenta y datos financieros. ## Componentes disponibles * [``](/docs/react-native/api/components/var): Contenido dinámico sin formato * [``](/docs/react-native/api/components/num): Números con formato según la configuración regional * [``](/docs/react-native/api/components/currency): Valores monetarios con símbolos y formato * [``](/docs/react-native/api/components/datetime): Fechas y horas según las convenciones de la configuración regional ## Inicio rápido Los componentes de variable se usan dentro de [``](/docs/react-native/api/components/t) para manejar contenido dinámico: ```jsx import { T, Var, Num, Currency, DateTime } from 'gt-react-native'; function UserProfile({ user }) { return (

Welcome back, {user.name}!

You have {user.itemCount} items.

Balance: {user.balance}

Last login: {user.lastLogin}

); } ``` ## Cómo funcionan los componentes de variable Los componentes de variable resuelven el problema del contenido dinámico así: 1. **Envuelven los valores dinámicos** para que puedan usarse dentro de [``](/docs/react-native/api/components/t) 2. **Gestionan el formato localmente** mediante las API de i18n integradas del navegador 3. **Mantienen la privacidad de los datos**: el contenido nunca se envía a la API de traducción 4. **Proporcionan localización** según la configuración regional actual del usuario ```jsx // ❌ Esto falla - contenido dinámico en

Hello {username}

// ✅ Esto funciona - contenido dinámico envuelto

Hello {username}

``` ## Guía de componentes ### Var - Contenido dinámico sin formato Usa [``](/docs/react-native/api/components/var) para cualquier contenido dinámico que no requiera un formato especial: ```jsx // Información del usuario

Hello, {user.name}!

Your account ID is {user.accountId}

// Renderizado condicional Dashboard: {isAdmin ? : } ``` ### Num - Números formateados Usa [``](/docs/react-native/api/components/num) para números que deban seguir las reglas de formato de la configuración regional: ```jsx // Formato numérico básico You have {itemCount} items in your cart. // Uso autónomo (equivalente a number.toLocaleString()) {totalItems} // Opciones de formato personalizadas Distance: {distance} km ``` ### Currency - Valores monetarios Usa [``](/docs/react-native/api/components/currency) para cantidades monetarias: ```jsx // Formato de moneda básico (por defecto "USD") Your total is {total}. // Diferentes monedas Price: {price} // Formato personalizado {roundedAmount} ``` ### DateTime - Fechas y horas Usa [``](/docs/react-native/api/components/datetime) para fechas y horas: ```jsx // Formato de fecha básico Order placed on {orderDate} // Formato de hora Last updated: {timestamp} // Formato de fecha personalizado {eventDate} ``` ## Privacidad y seguridad ### Los datos se mantienen en local Los componentes de variable realizan todo el formato localmente con las [API de Intl](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) del navegador. **No se envía ningún contenido dinámico a la API de traducción**, por lo que son ideales para: * Nombres de usuario e información personal * Números de cuenta e ID * Datos financieros y saldos * Marcas temporales y fechas privadas ```jsx // Seguro - los datos sensibles permanecen en local Account balance: {balance} Last login: {lastLoginTime} ``` ### Excepción importante Presta atención a los componentes [``](/docs/react-native/api/components/t) anidados dentro de los componentes de variable: ```jsx // ⚠️ El contenido interno de SÍ será enviado para traducción Hello, world! {/* Esto se traduce */} {privateData} {/* Esto permanece local */} ``` ## Uso autónomo Los componentes de variable pueden usarse fuera de [``](/docs/react-native/api/components/t) solo para dar formato: ```jsx // Funcionan como sus respectivos métodos .toLocale*() {count} // count.toLocaleString() {price} // formato de precio {date} // date.toLocaleDateString() ``` ## Problemas comunes ### Ignorar las opciones de localización Para [``](/docs/react-native/api/components/currency), asegúrate de proporcionar la prop `currency` para especificar la moneda. Esto garantiza que, al mostrar el valor, se utilicen el símbolo de moneda y el formato correctos: ```jsx // ❌ Usa USD por defecto - puede que no sea lo que los usuarios esperan The item costs {price} // ✅ Especifica la moneda de forma explícita The item costs {price} ``` Otros componentes también incluyen props opcionales que te permiten personalizar el formato: ```jsx // Formato básico {count} artículos en stock // Formato personalizado {percentage} tasa de finalización // Formato de fecha Última actualización: {lastUpdate} ``` ## Siguientes pasos * [Guía de componentes condicionales](/docs/react-native/guides/branches) - Añade lógica condicional a tus traducciones * [Guía de traducción de cadenas](/docs/react-native/guides/strings) - Traduce texto simple sin JSX * Referencias de la API: * [Componente ``](/docs/react-native/api/components/var) * [Componente ``](/docs/react-native/api/components/num) * [Componente ``](/docs/react-native/api/components/currency)