Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

105
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda