Lesedauer 2 Minuten

Dieser Beitrag zeigt wie man in einer PrimeReact App das Theme zwischen Dark- und Light-Mode umschaltet.  Die Möglichkeit wird zwar im sonst sehr ausführlichen PrimeReact Manual erwähnt, doch kommt die praktische Umsetzung leider zu kurz. Meine Lösung schließt diese Lücke.

Im Prinzip wird live zwischen einem Theme für den Light-Mode und einem eigenen Theme für den Dark-Mode hin- und her geschaltet. Wir benötigen daher 2 Themes.

PrimeReact: Theme Switch Light-Mode und Dark-Mode

PrimeReact Theme Switcher Vorbereitungen

Zuerst kopieren wir unsere beiden Themes von “/node-modules/primereact/resources/themes” nach “public/themes”. In unserem Beispiel sind das lara-light-blue und lara-light-dark.

primereact switch themes

Danach kommentieren wir alle Stellen aus, in denen wir Theme CSS-Daten importieren, z.B. in unserer App.tsx:

PrimeReact: Theme Switch Component

Die eigentliche Theme-Switch Komponente lädt je nach Zustand das entsprechende Theme über den PrimeReactContext. Daher ist es wichtig, daß wir zuvor den o.g. Import auskommentiert haben.

Die PrimeReact-Komponente des Theme-Switch selbst sieht wie folgt aus;

Dann mal happy Theme Switching :-)

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!