Я читал сообщения о перенаправлении на указанную c страницу после успешного входа в систему, но мне интересно, как я могу перенаправить пользователя на страницу, на которую предпринимались попытки после входа в систему?
Я очень новичок, поэтому я не уверен, что я что-то здесь упустил, но в настоящее время вот что у меня есть, и я могу перенаправить пользователя на домашнюю страницу после входа в систему. Это означает, что если пользователь перейдет на одну из страниц (страница x) без входа в систему, он будет перенаправлен на страницу входа в систему, а при успешном входе в систему он будет перенаправлен на страницу x.
Это логин функция в моих сагах. js
function* loginUser(action) {
try {
// Store user data in browser's localStorage
localStorage.setItem('authorization-token', action.data.tokenId);
localStorage.setItem('token', JSON.stringify(action.data.tokenObj));
localStorage.setItem('user', JSON.stringify(action.data.profileObj));
localStorage.setItem(JWT_REFRESH_COUNT_KEY, 0);
startJWTRefreshChecker();
// Place user information into the session slice of state
yield put(actions.receiveUser(action.data));
// Redirect browser to a new page following login
yield put(push('/'));
} catch (error) {
yield put(actions.receiveUserError(error));
}
}
function* watchLoginUser() {
yield takeLatest(actions.LOGIN_USER, loginUser);
}
У меня также есть функция аутентификации здесь
// Renders component if logged in, otherwise redirects to the login page
const Protected = ({ component: Component, path, loggedIn }) => {
return (
<Route
path={path}
render={(props) => (
loggedIn ? (
<Component {...props} />
) : (
<Redirect to="/login" />
)
)}
/>
);
};
Protected.propTypes = {
component: PropTypes.any,
path: PropTypes.any,
loggedIn: PropTypes.any,
};
Любая помощь приветствуется, спасибо!