Documents
use-theme-mode.zh-CN
use-theme-mode.zh-CN
Type
External
Status
Published
Created
Jun 12, 2026
Updated
Jun 12, 2026
Source
View

简介#

可以获取到 ThemeProvider 下的主题外观模式。

用法#

/**
 * inherit: true
 * defaultShowCode: true
 */
import { Divider, Typography } from 'antd';
import { useThemeMode } from 'antd-style';
import { Flexbox } from 'react-layout-kit';
const { Text } = Typography;

export default () => {
  const { themeMode, appearance, browserPrefers } = useThemeMode();

  return (
    <Flexbox horizontal align={'center'}>
      <Text type={'secondary'}>主题模式:</Text>
      {themeMode}
      <Divider type={'vertical'} />
      <Text type={'secondary'}>外观模式:</Text>
      {appearance}
      <Divider type={'vertical'} />
      <Text type={'secondary'}>浏览器外观:</Text>
      {browserPrefers}
    </Flexbox>
  );
};

API#

Typescript#

useThemeMode: () => ThemeContextState;

ThemeContextState#

参数类型默认值说明
browserPrefersBrowserPreferslight浏览器外观
themeModeThemeModelight主题模式
appearanceThemeAppearancelight显示外观
isDarkModebooleanfalse是否为暗色模式

BrowserPrefers#

浏览器外观,仅为 dark 或者 light

ThemeAppearance#

外观模式,为 dark 或者 light 或自定义的字符串。

ThemeMode#

主题模式,可以是 darklight 或者 auto