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

Como mudar o componente renderizado com React quando o usuário clica nos botões de voltar ou avançar

Quando os botões do navegador de voltar ou avançar são clicados o url muda mas o componente renderizado não. Como posso ouvir esse evento e mudar o componente?

Estou usando Material Ui.

1 resposta
solução!

Lendo a documentação, soube que o history (que vem na props quando o componente e criado. Por exemplo, o App.js que está renderizando os outros) tem uma método chamado listen(), que escuta os eventos de mudança na url, na stack de navegação para ser mais específico:

history.listen( (location, action) => {
      //Logica de roteamento
    })

O location tem atributos referentes a url, docs: https://github.com/ReactTraining/history/blob/master/docs/api-reference.md#location;

O action tem a ação de navegação. a ação na stack, que foi executa. As de click nos botões de avançar e voltar do navegador são a ação de POP. Docs: https://github.com/ReactTraining/history/blob/master/docs/api-reference.md#action;

Docs do método listen: https://github.com/ReactTraining/history/blob/master/docs/api-reference.md#history.back

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software