Components

Num

Referencia de API del componente <Num>

Descripción general

El componente <Num> muestra una cadena numérica formateada según el locale del usuario y puede personalizarse con opciones de formato.

<Num>{100}</Num>
// Salida: 100

Todo el reformateo se realiza localmente con la biblioteca Intl.NumberFormat.

Referencias

Props

Prop

Type

Descripción

PropDescripción
childrenEl contenido que se renderiza dentro del componente. Normalmente es un número, que se formateará según el locale actual y las options. Si se proporciona, tiene prioridad sobre la prop value.
namename opcional para el campo numérico, utilizado con fines de metadatos.
valuevalue predeterminado para el número. Puede ser una cadena o un número. Las cadenas se convertirán a números antes del formateo.
optionsoptions de formateo opcionales para el número, siguiendo la especificación de Intl.NumberFormatOptions. Úsalo para definir estilos como moneda, precisión decimal, etc.
localeslocales opcionales para especificar el locale de formateo. Si no se proporciona, se utiliza el locale predeterminado del usuario. Lee más sobre cómo especificar locales aquí.

Devuelve

JSX.Element que contiene el número formateado como cadena.


Ejemplos

Ejemplo básico

En este ejemplo, item.quantity se volverá a formatear según la locale del usuario.

QuantityDisplay.jsx
import { Num } from 'gt-react';

export default function Inventario(item) {
  return (
    <Num> {item.quantity} </Num>  
  );
}

Especificar locales

De forma predeterminada, las locales se determinan por la configuración del navegador del usuario, pero puedes establecer explícitamente la locale para el componente <Num>.

PriceDisplay.jsx
import { Num } from 'gt-react';

export default function CountDisplay(item) {
  return (
    <Num locales={['fr-FR']}> {item.count} </Num> 
  );
}

Traducción de componentes <Num>

Supongamos que quieres que tu número forme parte de una oración más larga que se traduzca. Solo añade los componentes <T> alrededor del contenido.

DynamicPriceDisplay.jsx
import { T, Num } from 'gt-react';

export default function DynamicPriceDisplay(item) {
  return (
    <T id="price">
      Hay <Num> {item.count} </Num> unidades disponibles. // [!code highlight]
    </T>
  );
}

Formatos personalizados

<Num> utiliza la biblioteca Intl.NumberFormat para el formateo.

import { Num } from 'gt-react';

export default function CustomFormat(number) {
  return (
    <Num
      options={{ style: "decimal", maximumFractionDigits: 2 }}
    >
      {number}
    </Num>
  );
}

Notas

  • El componente <Num> se usa para formatear números según el locale del usuario.
  • Cuando estés dentro de un componente <T>, asegúrate de envolver todos los números dinámicos en un componente <Num>.

Próximos pasos

  • Para obtener más detalles y ejemplos de uso del componente <Num> y de otros componentes de variables como <Currency>, <DateTime> y <Var>,

¿Qué te parece esta guía?