Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

192
Views
Cambiar dinámicamente archivos CSS en React

Tengo 2 archivos css: light.css y dark.css , también tengo un componente ThemeSwitch que representa el elemento select , este elemento tiene un controlador para manejar el cambio de valor (el valor es light u dark ). La pregunta es: ¿hay alguna forma de incluir uno de estos archivos css de acuerdo con el dark.css dark light light.css )

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar las bibliotecas react-lazy o react-suspense para cambiar componentes o archivos CSS de forma condicional.

A continuación se muestra el ejemplo de la biblioteca react-lazy

 import React, { useLayoutEffect, useState } from "react"; const Theme1 = React.lazy(() => import("./Theme1")); const Theme2 = React.lazy(() => import("./Theme2")); const THEME_1 = "1"; const THEME_2 = "2"; export const ThemeSelector = ({ children }) => { const [theme, setTheme] = useState(null); const changeTheme = () => { debugger; setTheme(theme === "1" ? "2" : "1"); }; useLayoutEffect(() => { setTimeout(() => { if (theme !== THEME_2) { setTheme(THEME_2); } else { setTheme(THEME_1); } }, 5000); }, []); return ( <> <React.Suspense fallback={<></>}> {theme === "1" && <Theme1 />} {theme === "2" && <Theme2 />} </React.Suspense> <button type="checkbox" value={theme} onClick={changeTheme}>Change Theme</button> {children} </> ); };
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!