# General Translation React SDKs (gt-react, gt-next): useRegionSelector
URL: https://generaltranslation.com/fr/docs/react/reference/hooks/use-region-selector.mdx
---
title: useRegionSelector
description: Créez un sélecteur de région personnalisé avec General Translation gt-react. Référence API de useRegionSelector.
---
Le hook `useRegionSelector` renvoie les données et les gestionnaires nécessaires pour créer un sélecteur de région personnalisé : la région active, les régions disponibles, les métadonnées de région, ainsi que les fonctions permettant de mettre à jour la région ou le paramètre régional.
*Disponible dans `gt-react` et `gt-react-native`. Les exemples importent depuis `gt-react` ; importez plutôt depuis le package de votre framework.*
*Remarque : n’est pas exporté par `gt-next` ni `gt-tanstack-start`.*
## Vue d’ensemble [#overview]
Appelez `useRegionSelector` et intégrez ses valeurs à votre propre interface.
```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 (
);
}
```
*Remarque : `useRegionSelector` fonctionne uniquement côté client et doit être utilisé au sein d’un [``](/docs/react/reference/components/gt-provider). Si vous n’avez pas besoin d’une interface utilisateur personnalisée, utilisez plutôt le composant [``](/docs/react/reference/components/region-selector).*
## Fonctionnement [#how-it-works]
Le hook renvoie la région active, la liste ordonnée des régions, une table de correspondance `regionData` des métadonnées d’affichage, ainsi que des fonctions de mise à jour pour la région et le paramètre régional. Lorsque `regions` n’est pas fourni, les régions disponibles sont déduites des locales prises en charge.
## Paramètres [#parameters]
`useRegionSelector` accepte un objet de configuration facultatif.
| Paramètre | Description | Type | Facultatif | Par défaut |
| ---------------------------------------------- | -------------------------------------------------------------------------- | ---------- | ---------- | ---------- |
| [`regions`](#regions) | Sous-ensemble des codes de région ISO 3166 à afficher. | `string[]` | Oui | Déduite |
| [`customMapping`](#custom-mapping) | Noms d’affichage, émojis ou paramètres régionaux personnalisés par région. | `object` | Oui | — |
| [`prioritizeCurrentLocaleRegion`](#prioritize) | Place en premier la région du paramètre régional actuel. | `boolean` | Oui | `true` |
| [`sortRegionsAlphabetically`](#sort) | Trie les régions par ordre alphabétique selon leur nom d’affichage. | `boolean` | Oui | `true` |
### `regions` [#regions]
**Type** `string[]` · **Facultatif** · **Par défaut** Déduit
Codes de région ISO 3166 à afficher. Si ce champ est omis, les régions sont déterminées à partir des locales prises en charge.
### `customMapping` [#custom-mapping]
**Type** `object` · **Facultatif**
Une table de correspondance entre des codes de région et des données d’affichage personnalisées. Chaque valeur peut être une chaîne de caractères (nom d’affichage) ou un objet avec les propriétés `name`, `emoji` et/ou `locale`.
### `prioritizeCurrentLocaleRegion` [#prioritize]
**Type** `boolean` · **Facultatif** · **Par défaut** `true`
Lorsque `true`, la région correspondant au paramètre régional actuel est affichée en priorité dans la liste.
### `sortRegionsAlphabetically` [#sort]
**Type** `boolean` · **Facultatif** · **Par défaut** `true`
Lorsque la valeur est `true`, les régions sont triées par ordre alphabétique de leur nom d’affichage.
## Valeur de retour [#returns]
**Type** `object`
| Champ | Description | Type |
| -------------- | --------------------------------------------------------------------------------------------- | --------------------------------------- |
| `region` | Le code de région actuellement sélectionné. | `string \| undefined` |
| `setRegion` | Met à jour la région sélectionnée. | `(region: string \| undefined) => void` |
| `regions` | Les codes de région disponibles. | `string[]` |
| `regionData` | Mappage des codes de région vers les données d’affichage (`code`, `name`, `emoji`, `locale`). | `Map` |
| `locale` | Le paramètre régional actuel. | `string` |
| `setLocale` | Met à jour le paramètre régional. | `(locale: string) => void` |
| `localeRegion` | Le code de région ISO 3166 du paramètre régional actuel. | `string` |
## Remarques [#notes]
* `useRegionSelector` est disponible uniquement côté client.
* Pour un menu déroulant prêt à l’emploi, utilisez [``](/docs/react/reference/components/region-selector).
* Pour l’équivalent du paramètre régional, consultez [`useLocaleSelector`](/docs/react/reference/hooks/use-locale-selector).