From 291ec0aa53d5f375eb6b2296631ff2101dee9316 Mon Sep 17 00:00:00 2001 From: Daniel Cortes Date: Fri, 19 Jun 2020 11:50:26 -0400 Subject: [PATCH] Issue #6 Implementado scroll global --- src/components/ScrollToTop.jsx | 17 +++++++++++++++++ src/index.jsx | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 src/components/ScrollToTop.jsx diff --git a/src/components/ScrollToTop.jsx b/src/components/ScrollToTop.jsx new file mode 100644 index 0000000..a5234d6 --- /dev/null +++ b/src/components/ScrollToTop.jsx @@ -0,0 +1,17 @@ +import { useEffect } from 'react'; +import { withRouter } from 'react-router-dom'; + +export const ScrollToTop = ({ history }) => { + useEffect(() => { + const unlisten = history.listen(() => { + window.scroll({top:0, left:0, behavior:'smooth'}); + }); + return () => { + unlisten(); + } + }, []); + + return (null); +} + +export const ScrollToTopRouter = withRouter(ScrollToTop); diff --git a/src/index.jsx b/src/index.jsx index 637d16c..cb36a76 100644 --- a/src/index.jsx +++ b/src/index.jsx @@ -9,6 +9,7 @@ import './styles/tabs.scss'; import {Nav} from "./components/Nav"; import {SearchBar} from "./components/SearchBar"; +import {ScrollToTopRouter} from "./components/ScrollToTop"; import {Search} from './views/Search'; import {ArtistView} from "./views/Artist"; @@ -41,6 +42,7 @@ const NoRoute = (props) => { const App = () => (
+