fix hydration error (#3542)

This commit is contained in:
Thomas Brandého 2024-06-21 21:34:47 +02:00 committed by GitHub
parent 1a74ff4d45
commit 046dbdef63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 18 additions and 5 deletions

View File

@ -6,12 +6,13 @@ import { ColorModeContext, defaultColorMode } from "/utils/context.js";
export default function ChakraColorModeProvider({ children }) {
const { theme, resolvedTheme, setTheme } = useTheme();
const { colorMode, toggleColorMode } = chakraUseColorMode();
const [resolvedColorMode, setResolvedColorMode] = useState(theme);
const [resolvedColorMode, setResolvedColorMode] = useState(colorMode);
useEffect(() => {
if (colorMode != resolvedTheme) {
toggleColorMode();
}
setResolvedColorMode(resolvedTheme);
}, [theme, resolvedTheme]);
const rawColorMode = colorMode;

View File

@ -5,7 +5,7 @@ import { ColorModeContext, defaultColorMode } from "/utils/context.js";
export default function RadixThemesColorModeProvider({ children }) {
const { theme, resolvedTheme, setTheme } = useTheme();
const [rawColorMode, setRawColorMode] = useState(defaultColorMode);
const [resolvedColorMode, setResolvedColorMode] = useState(theme);
const [resolvedColorMode, setResolvedColorMode] = useState("dark");
useEffect(() => {
setRawColorMode(theme);

View File

@ -25,7 +25,13 @@ from reflex.components.core.cond import Cond, color_mode_cond, cond
from reflex.components.lucide.icon import Icon
from reflex.components.radix.themes.components.dropdown_menu import dropdown_menu
from reflex.components.radix.themes.components.switch import Switch
from reflex.style import LIGHT_COLOR_MODE, color_mode, set_color_mode, toggle_color_mode
from reflex.style import (
LIGHT_COLOR_MODE,
color_mode,
resolved_color_mode,
set_color_mode,
toggle_color_mode,
)
from reflex.utils import console
from reflex.vars import BaseVar, Var
@ -183,7 +189,7 @@ class ColorModeSwitch(Switch):
"""
return Switch.create(
*children,
checked=color_mode != LIGHT_COLOR_MODE,
checked=resolved_color_mode != LIGHT_COLOR_MODE,
on_change=toggle_color_mode,
**props,
)

View File

@ -14,7 +14,13 @@ from reflex.components.core.cond import Cond, color_mode_cond, cond
from reflex.components.lucide.icon import Icon
from reflex.components.radix.themes.components.dropdown_menu import dropdown_menu
from reflex.components.radix.themes.components.switch import Switch
from reflex.style import LIGHT_COLOR_MODE, color_mode, set_color_mode, toggle_color_mode
from reflex.style import (
LIGHT_COLOR_MODE,
color_mode,
resolved_color_mode,
set_color_mode,
toggle_color_mode,
)
from reflex.utils import console
from reflex.vars import BaseVar, Var
from .components.icon_button import IconButton