# react-native: Componentes de bifurcación URL: https://generaltranslation.com/es/docs/react-native/guides/branches.mdx --- title: Componentes de bifurcación description: Cómo usar componentes de bifurcación para contenido condicional dentro de las traducciones --- {/* GENERADO AUTOMÁTICAMENTE: No lo edites directamente. Edita la plantilla en content/docs-templates/. */} Los componentes de bifurcación permiten renderizar contenido de forma condicional dentro de los componentes [``](/docs/react-native/api/components/t). Gestionan lógica dinámica, como sentencias if/else y reglas de pluralización, y garantizan que todas las variaciones del contenido puedan traducirse correctamente. ## Componentes disponibles * [``](/docs/react-native/api/components/branch): Contenido condicional según valores o estados * [``](/docs/react-native/api/components/plural): Pluralización automática con reglas específicas de la configuración regional ## Guía rápida Los componentes de bifurcación funcionan dentro de [``](/docs/react-native/api/components/t) para gestionar la lógica condicional: ```jsx import { T, Branch, Plural, Num, Var } from 'gt-react-native'; function NotificationPanel({ user, messageCount }) { return ( {user.name} is currently online

} away={

{user.name} is away

} >

{user.name} status unknown

You have {messageCount} message

} other={

You have {messageCount} messages

} />
); } ``` ## Cómo funcionan los componentes de bifurcación Los componentes de bifurcación resuelven el renderizado condicional en las traducciones de las siguientes maneras: 1. **Reemplazan los operadores ternarios** y la lógica condicional dentro de [``](/docs/react-native/api/components/t) 2. **Proporcionan contenido de respaldo** cuando las condiciones no coinciden con los valores esperados 3. **Permiten traducir** todas las posibles variaciones de contenido 4. **Aplican automáticamente las reglas de pluralización según la configuración regional** ```jsx // ❌ Esto falla - lógica condicional en

{isActive ? 'User is active' : 'User is inactive'}

// ✅ Esto funciona - lógica condicional con ramificación User is active

} false={

User is inactive

} />
``` ## Guía de componentes ### Branch - Contenido condicional Usa [``](/docs/react-native/api/components/branch) para cualquier renderizado condicional en función de valores o estados: ```jsx // Visualización del estado del usuario Administrator Dashboard

} user={

User Dashboard

} guest={

Guest Access

} >

Access level unknown

// Condiciones booleanas Welcome back!

} false={

Please log in

} />
// Niveles de suscripción Upgrade to unlock premium features

} premium={

Enjoy your premium experience

} enterprise={

Contact support for enterprise solutions

} >

Subscription status unavailable

``` ### Plural - Pluralización inteligente Usa [``](/docs/react-native/api/components/plural) para el contenido que cambia según la cantidad: ```jsx // Pluralización básica {itemCount} item in cart

} other={

{itemCount} items in cart

} />
// Manejo del cero No new notifications

} one={

{notifications} notification

} other={

{notifications} notifications

} />
// Pluralización compleja (sigue las reglas Unicode CLDR) Due today

} one={

Due in {days} day

} few={

Due in {days} days

} many={

Due in {days} days

} other={

Due in {days} days

} />
``` ### Combinación con componentes de variable La ramificación y los componentes de variable se integran a la perfección: ```jsx Order {order.id} is pending. Total: {order.total}

} shipped={

Order {order.id} shipped on {order.shippedDate}

} delivered={

Order {order.id} was delivered successfully

} >

Order status unknown

``` ## Cuándo usar componentes de bifurcación ### Reemplaza los operadores ternarios Convierte la lógica condicional para usarla dentro de [``](/docs/react-native/api/components/t): ```jsx // ❌ No se puede usar el operador ternario en {isActive ?

Active user

:

Inactive user

}
// ✅ Usa Branch en su lugar Active user

} false={

Inactive user

} />
``` ### Gestiona múltiples condiciones Reemplaza las sentencias `switch` o varias condiciones `if/else`: ```jsx // ❌ Lógica condicional compleja {status === 'loading' ?

Loading...

: status === 'error' ?

Error occurred

: status === 'success' ?

Success!

:

Unknown status

}
// ✅ Lógica de ramificación limpia Loading...

} error={

Error occurred

} success={

Success!

} >

Unknown status

``` ### Reglas de pluralización Sustituye el manejo manual de los plurales: ```jsx // ❌ Pluralización manual {count === 1 ?

1 item

:

{count} items

}
// ✅ Pluralización automática {count} item

} other={

{count} items

} />
``` ## Uso autónomo Los componentes de bifurcación se pueden usar fuera de [``](/docs/react-native/api/components/t) para implementar lógica pura sin traducción: ```jsx // Renderizado condicional puro } light={} > // Pluralización pura } other={} /> ``` ## Problemas frecuentes ### Claves de rama faltantes Proporciona siempre contenido de respaldo para los valores que no coincidan: ```jsx // ❌ Sin fallback para valores inesperados } user={} // ¿Qué pasa si userRole es "moderator"? /> // ✅ Incluir siempre un fallback } user={} > {/* Fallback para cualquier otro valor */} ``` ### Formas de plural incompletas Proporciona las formas de plural necesarias para tu configuración regional predeterminada: ```jsx // ❌ Falta la forma "other" 1 item

} // ¿Y qué pasa con 0, 2, 3, etc.? /> // ✅ Incluir las formas necesarias No items

} one={

1 item

} other={

{count} items

} /> ``` ### Lógica compleja anidada Aunque esto funciona, recomendamos mantener la lógica condicional simple y evitar un anidamiento profundo: ```jsx // ❌ Anidamiento complejo de ramas {/* Difícil de leer y mantener */} // ✅ Simplifica la lógica o usa múltiples componentes } active-offline={} inactive-online={} > ``` Consulta más información sobre las reglas de pluralización en la [documentación de Unicode CLDR](https://cldr.unicode.org/index/cldr-spec/plural-rules). ## Próximos pasos * [Guía de traducción de cadenas](/docs/react-native/guides/strings) - Traduce texto sin formato sin usar JSX * [Guía de contenido dinámico](/docs/key-concepts/dynamic-content) - Gestiona la traducción en runtime * Referencias de la API: * [Componente ``](/docs/react-native/api/components/branch)