# react-native: useLocaleSelector URL: https://generaltranslation.com/zh/docs/react-native/api/helpers/use-locale-selector.mdx --- title: useLocaleSelector description: useLocaleSelector Hook 的 API 参考 --- {/* 自动生成:请勿直接编辑。请改为编辑 content/docs-templates/ 中的模板。 */} ## 概述 此 Hook 会返回当前区域设置、locales 列表、[`useSetLocale`](/docs/react-native/api/helpers/use-set-locale) Hook,以及一个用于获取区域设置属性的函数。 这样你在创建自己的区域设置选择器组件时会更方便。 如果你不想自己实现,也可以直接使用 [``](/docs/react-native/api/components/locale-selector) 组件。 ## 参考 ### 返回值 一个对象,包含当前区域设置、locales 列表、[`useSetLocale`](/docs/react-native/api/helpers/use-set-locale) Hook,以及一个用于获取区域设置属性的函数。 *** ## 示例 ### `` 这是 [``](/docs/react-native/api/components/locale-selector) 组件的一个实现示例。 ```jsx export default function LocaleSelector({ locales: _locales, ...props }: { locales?: string[]; [key: string]: any; }): React.JSX.Element | null { // 获取区域设置选择器属性 const { locale, locales, setLocale, getLocaleProperties } = useLocaleSelector( _locales ? _locales : undefined ); // 获取显示名称 const getDisplayName = (locale: string) => { return capitalizeLanguageName( getLocaleProperties(locale).nativeNameWithRegionCode ); }; // 如果未返回任何 locales,则不渲染任何内容或进行优雅降级处理 if (!locales || locales.length === 0 || !setLocale) { return null; } return ( ); } ``` *** ## 注意事项 * 该 Hook 仅可在客户端使用。 * 有关区域设置代码的更多信息,请参见[这里](/docs/core/locales)。 ## 后续步骤 * 进一步了解 [``](/docs/react-native/api/components/locale-selector) 组件。 * 进一步了解 [`useLocale`](/docs/react-native/api/helpers/use-locale) Hook。