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

106
Views
cómo usar el valor de estado en makeStyles en materail ui react

Estoy creando una Webpage . Estoy usando Material UI para componentes. Aquí está el código:

 import { makeStyles, Typography } from "@material-ui/core"; const useStyles = makeStyles((theme) => ({ container: { backgroundColor: "white", display: displayStyle }, })); export default function HomePage() { const classes = useStyles(); const [displayStyle, setDisplayStyle] = useState("flex") return ( <> <div>My Page</div> <div className={classes.container}> <div > <Typography > Our Orders </Typography> </div> </div> </> ); }

Tengo un estado llamado displayStyle . Quiero usar este valor de estado en makeStyles . Pero muestra que displayStyle no está definido porque está dentro de la función. Cómo hacer que se use en makeStyles . Quiero establecer Styles basados en el valor del state . Por favor ayúdame con algunas soluciones.

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

El state está disponible en el componente. Por lo tanto, debe mover useStyles a su componente para acceder a displayStyle :

 import { makeStyles, Typography } from "@material-ui/core"; export default function HomePage() { const [displayStyle, setDisplayStyle] = useState("flex") const useStyles = makeStyles((theme) => ({ container: { backgroundColor: "white", display: displayStyle }, })); const classes = useStyles(); return ( <> <div>My Page</div> <div className={classes.container}> <div > <Typography > Our Orders </Typography> </div> </div> </> ); }
about 4 years ago · Santiago Trujillo Report

0

Una solución es mover makeStyles en el componente y, si no desea moverlo en el componente, puede probar este truco.

 import { makeStyles, Typography } from "@material-ui/core"; let style; const useStyles = makeStyles((theme) => ({ container: { backgroundColor: "white", display: style }, })); export default function HomePage() { const [displayStyle, setDisplayStyle] = useState("flex") style = displayStyle; const classes = useStyles(); return ( <> <div>My Page</div> <div className={classes.container}> <div > <Typography > Our Orders </Typography> </div> </div> </> ); }
about 4 years ago · Santiago Trujillo Report

0

Simplemente haga que displayStyle esté disponible para useStyle function definiendo el estado en la función useStyle .

Mueva esta línea dentro de la función useStyle .

 const [displayStyle, setDisplayStyle] = useState("flex");

Así que nuestro componente se ve así

 import { makeStyles, Typography } from "@material-ui/core"; const useStyles = makeStyles((theme) => ({ const [displayStyle, setDisplayStyle] = useState("flex") container: { backgroundColor: "white", display: displayStyle }, })); export default function HomePage() { const classes = useStyles(); return ( <> <div>My Page</div> <div className={classes.container}> <div > <Typography > Our Orders </Typography> </div> </div> </> ); }
about 4 years ago · Santiago Trujillo 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!