OLá, estou usando o react router 4, e tentando fazer um projeto SPA para pegar as manhas do REACT, mas estou realmente travado em algo aqui! Gostaria que nas trocas de Rotas, a página rolasse para o topo!
meu arquivo App.js é onde chamo todos os outros componentes, e seto o Router.
Existe alguma função do router ou do react que seja dispara ao trocar de rota, (testei colocando no app.js o window.scrollTo(0, 0)
no componentWillReceiveProps()
e no componentWillUpdate()
mas não funcionou.
Também testei esta solução: https://reacttraining.com/react-router/web/guides/scroll-restoration que está na própria documentação do react-router-dom. Porém não consegui implementar. Acho que posso estar fazendo algo errado.
O que eu consegui fazer, que deu certo, é: nos meus componentes que são chamados pelo <Route path=/"">
, eu coloquei o window.scrollTo(0, 0)
no componentDidMount()
e funcionou, mas no meu caso, o projeto tem "páginas" todos esses components ficou com esse código, isso seria meio feio, não?
Ou seria até o ideal, pois assim posso ter components que não são necessários rolar para o topo da página.
Obrigado!