@QnaTwitt

Как проверить на наличие токена в адресной строке, при помощи React?

Как можно сделать проверку, есть ли "?token=g1dfg2ddf2sd13a2asd" в адресной строке или нет. Если есть, оставить пользователя на той странице на которую он перешёл и записать токен который идёт после "?token=" в state (переменную), если же нету отправить на главную "/"

Правильно будет если я сделаю это вот так?
const tokenParam = '?token=';

    useEffect(() => {
      if (!window.location.search.includes(tokenParam)) {
        window.location.replace('/');
      }
    }, []);
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
function GetPage():any {
    return window
        .location
        .search
        .replace('?', '')
        .split('&')
        .reduce(
            function (p, e) {
                var a = e.split('=');
                // @ts-ignore
                p[decodeURIComponent(a[0])] = decodeURIComponent(a[1]);
                return p;
            },
            {}
        );
}

Вызовите функцию со строкой token и проверьте не undefined ли она
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы