19 / 19
Как реализовать систему тем (theming) с CSS-переменными и React Context?
Самый производительный подход: хранить текущую тему в React Context, а цвета и размеры определять через CSS custom properties (переменные). При переключении темы React меняет data-theme атрибут или класс на <html>, CSS подхватывает новые значения переменных. Никакого ре-рендера дерева компонентов — работает чистый CSS. Context нужен только для переключателя и определения текущей темы.