# General Translation React SDKs (gt-react, gt-next): useRegionSelector URL: https://generaltranslation.com/es/docs/react/reference/hooks/use-region-selector.mdx --- title: useRegionSelector description: Crea un selector de región personalizado con General Translation gt-react. Referencia de API de useRegionSelector. --- El `hook` `useRegionSelector` devuelve los datos y las funciones necesarios para crear un selector de región personalizado: la región activa, las regiones disponibles, los metadatos de la región y las funciones para actualizar la región o la configuración regional. *Disponible en `gt-react` y `gt-react-native`. Los ejemplos importan desde `gt-react`; en su lugar, importa desde el paquete de tu framework.* *Nota: no se exporta en `gt-next` ni en `gt-tanstack-start`.* ## Descripción general [#overview] Llama a `useRegionSelector` e integra sus valores en tu propia interfaz de usuario. ```tsx 'use client'; import { useRegionSelector } from 'gt-react'; export default function CustomRegionSelector() { const { region, setRegion, regions, regionData } = useRegionSelector({ // [!code highlight] customMapping: { US: { name: 'United States', emoji: '🇺🇸' } }, // [!code highlight] }); return ( ); } ``` *Nota: `useRegionSelector` solo está disponible del lado del cliente y debe usarse dentro de un [``](/docs/react/reference/components/gt-provider). Si no necesitas una interfaz de usuario personalizada, usa en su lugar el componente [``](/docs/react/reference/components/region-selector).* ## Cómo funciona [#how-it-works] El hook devuelve la región activa, la lista ordenada de regiones, un mapa `regionData` con metadatos de visualización y funciones para establecer la región y la configuración regional. Cuando no se proporciona `regions`, las regiones disponibles se infieren a partir de las configuraciones regionales compatibles. ## Parámetros [#parameters] `useRegionSelector` acepta un objeto de configuración opcional. | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | ---------------------------------------------- | ------------------------------------------------------------------------------------------ | ---------- | -------- | -------------- | | [`regions`](#regions) | Subconjunto de códigos de región ISO 3166 que se mostrarán. | `string[]` | Sí | Inferido | | [`customMapping`](#custom-mapping) | Nombres para mostrar, emojis o configuraciones regionales personalizadas para cada región. | `object` | Sí | — | | [`prioritizeCurrentLocaleRegion`](#prioritize) | Coloca primero la región de la configuración regional actual. | `boolean` | Sí | `true` | | [`sortRegionsAlphabetically`](#sort) | Ordena las regiones alfabéticamente por nombre para mostrar. | `boolean` | Sí | `true` | ### `regions` [#regions] **Tipo** `string[]` · **Opcional** · **Predeterminado** Inferido Códigos de región ISO 3166 que se mostrarán. Si se omite, las regiones se infieren a partir de las configuraciones regionales compatibles. ### `customMapping` [#custom-mapping] **Tipo** `object` · **Opcional** Una asignación de códigos de región a datos personalizados de presentación. Cada valor puede ser una `string` (nombre para mostrar) o un objeto con las propiedades `name`, `emoji` y/o `locale`. ### `prioritizeCurrentLocaleRegion` [#prioritize] **Tipo** `boolean` · **Opcional** · **Predeterminado** `true` Si es `true`, se prioriza en la lista la región que coincide con la configuración regional actual. ### `sortRegionsAlphabetically` [#sort] **Tipo** `boolean` · **Opcional** · **Predeterminado** `true` Cuando es `true`, las regiones se ordenan alfabéticamente por su nombre para mostrar. ## Devuelve [#returns] **Tipo** `object` | Campo | Descripción | Tipo | | -------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------- | | `region` | El código de región seleccionado actualmente. | `string \| undefined` | | `setRegion` | Actualiza la región seleccionada. | `(region: string \| undefined) => void` | | `regions` | Códigos de región disponibles. | `string[]` | | `regionData` | Mapa que asocia códigos de región con datos de visualización (`code`, `name`, `emoji`, `locale`). | `Map` | | `locale` | La configuración regional actual. | `string` | | `setLocale` | Actualiza la configuración regional. | `(locale: string) => void` | | `localeRegion` | El código de región ISO 3166 de la configuración regional actual. | `string` | ## Notas [#notes] * `useRegionSelector` está disponible solo del lado del cliente. * Para un menú desplegable listo para usar, utiliza [``](/docs/react/reference/components/region-selector). * Para su equivalente de configuración regional, consulta [`useLocaleSelector`](/docs/react/reference/hooks/use-locale-selector).