diff --git a/client/components/createRedirectWithUsername.jsx b/client/components/createRedirectWithUsername.jsx
index a6b69233c4..b8fb3485dd 100644
--- a/client/components/createRedirectWithUsername.jsx
+++ b/client/components/createRedirectWithUsername.jsx
@@ -1,29 +1,23 @@
-import React from 'react';
-import { connect } from 'react-redux';
+import { useEffect } from 'react';
+import { useSelector } from 'react-redux';
+import PropTypes from 'prop-types';
import browserHistory from '../browserHistory';
-const RedirectToUser = ({ username, url = '/:username/sketches' }) => {
- React.useEffect(() => {
+const RedirectToUser = ({ url = '/:username/sketches' }) => {
+ const username = useSelector((state) =>
+ state.user ? state.user.username : null
+ );
+ useEffect(() => {
if (username == null) {
return;
}
-
browserHistory.replace(url.replace(':username', username));
- }, [username]);
-
+ }, [username, url]);
return null;
};
-function mapStateToProps(state) {
- return {
- username: state.user ? state.user.username : null
- };
-}
-
-const ConnectedRedirectToUser = connect(mapStateToProps)(RedirectToUser);
-
-const createRedirectWithUsername = (url) => (props) => (
-
-);
+RedirectToUser.propTypes = {
+ url: PropTypes.string.isRequired
+};
-export default createRedirectWithUsername;
+export default RedirectToUser;
diff --git a/client/routes.jsx b/client/routes.jsx
index 418a5bf99d..c0e189441d 100644
--- a/client/routes.jsx
+++ b/client/routes.jsx
@@ -17,7 +17,7 @@ import NewPasswordView from './modules/User/pages/NewPasswordView';
import AccountView from './modules/User/pages/AccountView';
import CollectionView from './modules/User/pages/CollectionView';
import DashboardView from './modules/User/pages/DashboardView';
-import createRedirectWithUsername from './components/createRedirectWithUsername';
+import RedirectToUser from './components/createRedirectWithUsername';
import { getUser } from './modules/User/actions';
import {
userIsAuthenticated,
@@ -84,11 +84,11 @@ const routes = (
}
/>
}
/>