Задать вопрос
@MrLumuss

Почему переключение темы срабатывает со второго раза при первой загрузке страницы?

Есть компонент, основанный на Material UI, который отвечает за переключение темы. При первой загрузке страницы он срабатывает со второго клика, далее работает с первого, как и положено. В чем проблема может быть?

Код компонента:
import { DarkMode, WbSunny } from "@mui/icons-material";
import {
  IconButton, Stack, Switch, useTheme,
} from "@mui/material";

const ThemeSwitcherComponent = ({
  isCompact, color, disabled, size,
}) => {
  const { isDark, toggleTheme } = useTheme();

  if (isCompact) {
    return (
      <IconButton
        color={color || "inherit"}
        disabled={disabled}
        size={size}
        onClick={toggleTheme}
      >
        {isDark ? (
          <WbSunny fontSize={size} />
        ) : (
          <DarkMode fontSize={size} />
        )}
      </IconButton>
    );
  }

  return (
    <Stack alignItems="center" flexDirection="row">
      <WbSunny color={color || "inherit"} fontSize={size} />
      <Switch
        checked={isDark}
        color={color || "default"}
        disabled={disabled}
        size={size}
        onChange={toggleTheme}
      />
      <DarkMode color={color || "inherit"} fontSize={size} />
    </Stack>
  );
};

export default ThemeSwitcherComponent;
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽