# 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) — аналог для локали.