Итак, немного покопавшись, я получил ответ:
Первое, что мне нужно было сделать, это обновить мои «response-router» и «react-router-dom».
From Как я понял, для этого вам нужна как минимум версия 5.1.2.
Также убедитесь, что вы используете одну и ту же версию для обеих зависимостей.
Итак, в моем случае у меня есть обновлено до
"response-router": "5.2.0", "react-router-dom": "5.2.0",
Следующее, что я сделал, это импортировал {useLocation , useHistory, useParams} из response-router-dom;
import React, {useState,useRef,useEffect} from 'react';
import { useLocation, useHistory , useParams} from 'react-router-dom';
const ResetPassword = props => {
let { token } = useParams()
console.log(token);
const history = useHistory();
const location = useLocation();
console.log(location);
useEffect(()=>{
const currentPath = location.pathname;
const searchParams = new URLSearchParams(location.search);
console.log(currentPath);
console.log(searchParams)
},[location]);
});
return (
<>
</>
);
}
export default ResetPassword;
В моем маршрутизаторе у меня есть маршрут для страницы, установленный таким образом
<UnPrivateRoute
path="/reset/:token"
component={ResetPassword} />
Таким образом, текущий URL-адрес браузера http://localhost: 3000 / reset / ab4794396674412e00406beda674349400c1f5ad
на консоли, как зарегистрировано выше. У меня следующие результаты. console.log (токен); результат: ab4794396674412e00406beda674349400c1f5ad
console.log (расположение); Результат: {путь: "/ reset / ab4794396674412e00406beda674349400c1f5ad", поиск: "", ha sh: "", состояние: undefined}
console.log (currentPath); Результат: / reset / ab4794396674412e00406beda674349400c1f5ad
console.log (searchParams); Результат: URLSearchParams {append: function, delete: function, get: function,…}