Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida com a toggleFunction

Boa noite, Gostaria de saber como implemento aquela toggleFunction da figura(Hambúrguer) dos 3 riscos que ficam um em cima do outro quando a aplicação passa para mobile. Fiz um navbar mas não consigo fazer o menu abrir quando passo para mobile. Vou postar o código aqui, se alguém puder me dar uma luz agradeço :D

class Navbar extends Component { state = { clicked: false }

handleClick = () => {
    this.setState({ clicked: !this.state.clicked})
}

render(){
    return(
        <>
            <div className="container-fluid">
                <nav className="navbar navbar-expand-lg navbar-light bg-light">
                    <a class="navbar-brand" to="#">Portfólio - Vittório</a>
                        <button className="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                        <span className="navbar-toggler-icon"></span>
                    </button>
                    <div className="collapse navbar-collapse" id="navbarNav">
                        <ul className="navbar-nav">
                            <Link to="/">
                                <li className="nav-item">
                                    <a className="nav-link" >Home</a>
                                </li>
                            </Link>
                            <Link to="/portfolio">
                                <li className="nav-item">
                                    <a className="nav-link" >Portfólio</a>
                                </li>
                            </Link>
                            <Link to="/contato">
                                <li className="nav-item">
                                    <a className="nav-link" >Contato</a>
                                </li>
                            </Link>
                            <Link to="/sobre">
                                <li className="nav-item">
                                    <a className="nav-link" >Sobre</a>
                                </li>
                            </Link>
                        </ul>
                    </div>
                </nav>
            </div> 
        </>
    );
}

} export default Navbar;

1 resposta
solução!

Fala ai Vittorio, tudo bem? Nesse caso o que pode fazer é renderizar os componentes de forma condicional, ou seja, se clicou mostra o componente senão mostra outro ou não renderiza nada, algo assim:

{ this.state.menuOpen && <ComponenteQuandoClicou /> }

A ideia seria quando tu clicar no menu hamburger você seta o estado clicado para true:

handleMenuClick() {
    this.setState({ menuOpen: true })
}

Espero ter ajudado.