# gt-next: General Translation Next.js SDK: useRegionSelector URL: https://generaltranslation.com/ru/docs/next/api/helpers/use-region-selector.mdx --- title: useRegionSelector description: Справка по API хука useRegionSelector --- {/* СГЕНЕРИРОВАНО АВТОМАТИЧЕСКИ: Не редактируйте напрямую. Вместо этого измените шаблон в content/docs-templates/. */} ## Обзор Хук `useRegionSelector` предоставляет данные и обработчики, необходимые для создания пользовательского компонента интерфейса селектора региона. Он возвращает текущий регион, список доступных регионов, метаданные регионов, а также функции для обновления региона или локали. `useRegionSelector` — это клиентский хук, и *его можно использовать только в клиентских компонентах*. Убедитесь, что ваше приложение обернуто в [``](/docs/next/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-next'; 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/next/api/config/gt-config-json). * Чтобы использовать готовый селектор регионов, воспользуйтесь компонентом [``](/docs/next/api/components/region-selector). ## Дальнейшие шаги * См. [``](/docs/next/api/components/region-selector) — готовый к использованию компонент раскрывающегося списка. * См. [`useRegion`](/docs/next/api/helpers/use-region), чтобы получить текущий регион. * См. [`useLocaleSelector`](/docs/next/api/helpers/use-locale-selector) — аналог для локали.