# react-native: useRegionSelector
URL: https://generaltranslation.com/ru/docs/react-native/api/helpers/use-region-selector.mdx
---
title: useRegionSelector
description: Справка по API для Hook useRegionSelector
---
{/* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ: не редактируйте напрямую. Вместо этого редактируйте template в content/docs-templates/. */}
## Обзор
Hook `useRegionSelector` предоставляет данные и обработчики, необходимые для создания пользовательского компонента интерфейса селектора региона. Он возвращает текущий регион, список доступных регионов, метаданные региона, а также функции для обновления региона или локали.
`useRegionSelector` — это Hook для клиентской части и *может использоваться только в клиентских компонентах*.
Убедитесь, что ваше приложение обёрнуто в [``](/docs/react-native/api/components/gtprovider).
## Справка
### Параметры
Необязательный объект конфигурации:
| Параметр | Тип | По умолчанию | Описание |
| ------------------------------- | ---------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `regions` | `string[]` | — | Необязательный массив кодов регионов ISO 3166 для отображения. Если не указан, регионы определяются на основе поддерживаемых локалей. |
| `customMapping` | `object` | — | Необязательный объект сопоставления для переопределения отображаемых имен регионов, эмодзи или связанных локалей. Значения могут быть строкой (отображаемое имя) или объектом со свойствами `name`, `emoji` и/или `locale`. |
| `prioritizeCurrentLocaleRegion` | `boolean` | `true` | Если `true`, регион, соответствующий текущей локали, выводится в списке с приоритетом. |
| `sortRegionsAlphabetically` | `boolean` | `true` | Если `true`, регионы сортируются по алфавиту по отображаемому имени. |
### Возвращаемое значение
Объект, содержащий:
| Поле | Тип | Описание |
| ------------ | --------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `region` | `string \| undefined` | Код текущего выбранного региона. |
| `setRegion` | `(region: string \| undefined) => void` | Функция для обновления выбранного региона. |
| `regions` | `string[]` | Массив доступных кодов регионов. |
| `regionData` | `Map` | Сопоставление кодов регионов с их данными для отображения (`code`, `name`, `emoji`, `locale`). |
| `locale` | `string` | Текущая локаль. |
| `setLocale` | `(locale: string) => void` | Функция для обновления локали. |
***
## Примеры
### Создайте собственный селектор региона
```jsx title="CustomRegionSelector.jsx" copy
'use client';
import { useRegionSelector } from 'gt-react-native';
export default function CustomRegionSelector() {
const { region, setRegion, regions, regionData } = useRegionSelector({ // [!code highlight]
customMapping: { US: { name: "United States", emoji: "🇺🇸" } }, // [!code highlight]
}); // [!code highlight]
return (
);
}
```
***
## Примечания
* Если `regions` не указан, доступные регионы определяются на основе поддерживаемых локалей, заданных в вашем [`gt.config.json`](/docs/react-native/api/config/gt-config-json).
* Если вам нужен готовый селектор региона, используйте компонент [``](/docs/react-native/api/components/region-selector).
## Следующие шаги
* См. [``](/docs/react-native/api/components/region-selector) — это готовый компонент выпадающего списка.
* См. [`useRegion`](/docs/react-native/api/helpers/use-region), чтобы получить текущий регион.
* См. [`useLocaleSelector`](/docs/react-native/api/helpers/use-locale-selector) — аналог для локали.