mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-05-30 09:06:19 +00:00
Created component to scroll to top
This commit is contained in:
22
src/common/ScrollToTop.js
Normal file
22
src/common/ScrollToTop.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { withRouter } from 'react-router-dom'
|
||||||
|
|
||||||
|
export class ScrollToTop extends React.Component {
|
||||||
|
componentDidUpdate(prevProps) {
|
||||||
|
const { location, window } = this.props;
|
||||||
|
|
||||||
|
if (location !== prevProps.location) {
|
||||||
|
window.scrollTo(0, 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return this.props.children;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ScrollToTop.defaultProps = {
|
||||||
|
window
|
||||||
|
};
|
||||||
|
|
||||||
|
export default withRouter(ScrollToTop);
|
||||||
@@ -8,6 +8,7 @@ import ReduxThunk from 'redux-thunk';
|
|||||||
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
import ScrollToTop from './common/ScrollToTop'
|
||||||
import reducers from './reducers';
|
import reducers from './reducers';
|
||||||
import registerServiceWorker from './registerServiceWorker';
|
import registerServiceWorker from './registerServiceWorker';
|
||||||
|
|
||||||
@@ -21,7 +22,9 @@ const store = createStore(reducers, composeEnhancers(
|
|||||||
ReactDOM.render(
|
ReactDOM.render(
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<BrowserRouter>
|
<BrowserRouter>
|
||||||
<App />
|
<ScrollToTop>
|
||||||
|
<App />
|
||||||
|
</ScrollToTop>
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
</Provider>,
|
</Provider>,
|
||||||
document.getElementById('root')
|
document.getElementById('root')
|
||||||
|
|||||||
Reference in New Issue
Block a user