React Common - Utils - ui - themes

An object that serves as a namespace for the methods that work with DevExtreme CSS Themes.

import ui.themes from "devextreme-react/themes"

current()

Gets the current theme's name.

Return Value:

String

The current theme's name.

current(themeName)

Sets a theme with a specific name.

Parameters:
themeName:

String

The theme's name.

The theme name passed as a parameter should be the value of the data-theme attribute used within the rel="dx-theme" links to the theme. For instance, if you have links to two of your themes...

HTML
  • <link rel="dx-theme" data-theme="generic.mytheme-dark" href="css/mytheme-dark.css" data-active="true">
  • <link rel="dx-theme" data-theme="generic.mytheme-light" href="css/mytheme-light.css" data-active="false">

... you can switch between them as shown in the code below. Note that you should specify a callback function that repaints all UI components after the theme has been loaded using the ready(callback) method.

Refer to the Predefined Themes article for details on the themes that are supplied with DevExtreme.

initialized(callback)

Specifies a function to be executed after a theme is loaded.

Parameters:
callback:

Function

The function.

In some situations, UI components may apply their configuration or calculate their sizes before a theme is loaded. If you encounter issues with component appearance, use initialized(callback) to ensure that all styles are applied:

index.js
  • import React from "react";
  • import ReactDOM from "react-dom";
  • import App from "./App.js";
  •  
  • import themes from "devextreme/ui/themes";
  •  
  • themes.initialized(() =>
  • ReactDOM.render(<App />, document.getElementById("app"))
  • );

ready(callback)

Specifies a function to be executed each time a theme is switched.

Parameters:
callback:

Function

The function.

Refer to the current(themeName) description for a code example.