# General Translation React SDKs (gt-react, gt-next): useRegionSelector
URL: https://generaltranslation.com/ja/docs/react/reference/hooks/use-region-selector.mdx
---
title: useRegionSelector
description: General Translation の gt-react を使って、カスタムのリージョン切り替えを構築します。useRegionSelector の API リファレンス。
---
`useRegionSelector` フックは、カスタムのリージョンセレクターを構築するために必要なデータとハンドラーを返します。アクティブなリージョン、利用可能なリージョン、リージョンのメタデータ、そしてリージョンまたはロケールを更新する関数が含まれます。
*`gt-react` と `gt-react-native` で利用できます。例では `gt-react` から import していますが、代わりにお使いのフレームワークのパッケージから import してください。*
*注: `gt-next` または `gt-tanstack-start` からは export されません。*
## 概要 [#overview]
`useRegionSelector` を呼び出し、その値を独自の UI に組み込みます。
```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 (
);
}
```
*注: `useRegionSelector` はクライアントサイド専用で、[``](/docs/react/reference/components/gt-provider) の配下で使用する必要があります。カスタム UI が不要な場合は、代わりに [``](/docs/react/reference/components/region-selector) コンポーネントを使用してください。*
## 仕組み [#how-it-works]
このフックは、アクティブなリージョン、順序付きのリージョン一覧、表示用メタデータを含む `regionData` マップ、そしてリージョンとロケールのセッターを返します。`regions` が指定されていない場合、利用可能なリージョンはサポート対象のロケールから推定されます。
## パラメータ [#parameters]
`useRegionSelector` はオプションの設定オブジェクトを受け取ります。
| パラメータ | 説明 | 型 | 省略可能 | デフォルト |
| ---------------------------------------------- | ------------------------------ | ---------- | ---- | ------ |
| [`regions`](#regions) | 表示する ISO 3166 リージョンコードの一部。 | `string[]` | はい | 自動推定 |
| [`customMapping`](#custom-mapping) | リージョンごとのカスタム表示名、絵文字、またはロケール。 | `object` | はい | — |
| [`prioritizeCurrentLocaleRegion`](#prioritize) | 現在のロケールのリージョンを先頭にします。 | `boolean` | はい | `true` |
| [`sortRegionsAlphabetically`](#sort) | 表示名に基づいてリージョンをアルファベット順に並べ替えます。 | `boolean` | はい | `true` |
### `regions` [#regions]
**型** `string[]` · **任意** · **デフォルト** 自動推定
表示する ISO 3166 のリージョンコードです。省略した場合は、サポートされているロケールからリージョンが推定されます。
### `customMapping` [#custom-mapping]
**型** `object` · **任意**
リージョンコードをカスタム表示データに対応付けるマッピングです。各値には、文字列 (表示名) または `name`、`emoji`、`locale` プロパティを持つオブジェクトを指定できます。
### `prioritizeCurrentLocaleRegion` [#prioritize]
**型** `boolean` · **任意** · **デフォルト** `true`
`true` の場合、現在のロケールに対応するリージョンがリスト内で優先されます。
### `sortRegionsAlphabetically` [#sort]
**型** `boolean` · **任意** · **デフォルト** `true`
`true` の場合、リージョンは表示名のアルファベット順で並べ替えられます。
## 戻り値 [#returns]
**型** `object`
| フィールド | 説明 | 型 |
| -------------- | ------------------------------------------------------- | --------------------------------------- |
| `region` | 現在選択されているリージョンコード。 | `string \| undefined` |
| `setRegion` | 選択中のリージョンを更新します。 | `(region: string \| undefined) => void` |
| `regions` | 利用可能なリージョンコード。 | `string[]` |
| `regionData` | リージョンコードから表示データ (`code`、`name`、`emoji`、`locale`) へのマップ。 | `Map` |
| `locale` | 現在のロケール。 | `string` |
| `setLocale` | ロケールを更新します。 | `(locale: string) => void` |
| `localeRegion` | 現在のロケールの ISO 3166 リージョンコード。 | `string` |
## メモ [#notes]
* `useRegionSelector` はクライアントサイドでのみ使用できます。
* すぐに使えるドロップダウンを使う場合は、[``](/docs/react/reference/components/region-selector) を使用してください。
* ロケール版については、[`useLocaleSelector`](/docs/react/reference/hooks/use-locale-selector) を参照してください。