Задать вопрос
@m_frost

React-router Redirect предыдущая локация ??

Eсть редирект с страницы товара для незалогиненого пользователя на страницу логина мне нужно возвращаться его на страницу товара после логина, мне нужны пропсы предыдущей локации чтобы если это локация товара то делать history.goBack() а иначе history.push(home). Знаю в линках можно так делать но в редиректе не не нашел.
  • Вопрос задан
  • 1344 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Редирект:
<Redirect
  to={{
    pathname: '/login',
    state: { referrer: props.history.location.pathname }, // или `/products/${slug}`
  }}
/>


Логин:
class Login extends React.Component {
  onLoginSuccess() {
    const { history } = this.props;
    const { state } = history.location;
    const location = (state && state.referrer) || '/';

    history.push(location);
  }

  /* ... *.
}

Помимо ссылки на прошлую страницу в state можно писать ее скролл и по возвращению восстанавливать и его.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽