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

124
Visualizações
Reaccionar colapsar pro-sidebar al hacer clic

Soy un novato en React. Tengo una barra lateral de reacción que quiero cerrar/abrir al hacer clic:

 export default function MaterialLayout(props) { const { children } = props; const classes = useStyle(); function CollapseSide() { document.getElementById('pro1').collapsed=!document.getElementById('pro1').collapsed; } return ( <ThemeProvider theme={theme}> <CssBaseline /> <Header /> <ProSidebar id='pro1' onClick={CollapseSide} collapsed={false}> .... ....

Qué estoy haciendo mal

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Con document.getElementById('pro1').collapsed , está configurando la propiedad en el nodo DOM real representado y no en el nodo React.

En su lugar, puede intentar lo siguiente

 export default function MaterialLayout(props) { const { children } = props; const classes = useStyle(); const [ sideCollapsed, setSideCollapsed ] = useState(false); const toggleSideCollapsed = useCallback(() => { console.log('toggle') setSideCollapsed(collapsed => !collapsed) }, [ setSideCollapsed ]) // could leave this empty return ( <ThemeProvider theme={theme}> <CssBaseline /> <Header /> <ProSidebar onClick={toggleSideCollapsed} collapsed={sideCollapsed}> .... ....

Sin embargo, no estoy seguro de si ProSidebar toma o no una propiedad onClick . Puede verificar eso usando la instrucción console.log y verificando su consola.

Para obtener más explicaciones, puede consultar los documentos de React en useState y useCallback o simplemente pregunte en los comentarios :)

about 4 years ago · Juan Pablo Isaza Relatório

0

¿Podría probar este código y decirme si funciona?

 export default function MaterialLayout(props) { const { children } = props; const classes = useStyle(); const [toggled, setToggled] = useState(false); const [collapsed, setCollapsed] = useState(true); const handleToggle = () => { setToggled(!toggled); setCollapsed(!collapsed); } return ( <ThemeProvider theme={theme}> <CssBaseline /><Header /> <ProSidebar collapsed={collapsed} toggled={toggled} onToggle={handleToggle}> ...rest of content... ) }
about 4 years ago · Juan Pablo Isaza 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