Поскольку для маршрута Navigation
не указан какой-либо путь, он всегда совпадает с любым путем, на котором вы находитесь, но match.path
показывает только минимальный путь, необходимый для навигации.Вот почему это всегда /
.
Вы можете использовать location.pathname
, но оно дает вам совпадающее значение, а не совпадающий путь.
const Navigation = props => {
console.log(props.location.pathname);
// prints `/users/1` if you're on https://blah.com/users/1
// prints `/users/hey` if you're on https://blah.com/users/hey
return <h2>Navigation</h2>;
};
Не уверен, что вы этого хотите, но еслиВы расширяете то, что именно вы пытаетесь достичь, может быть, я смогу помочь больше.
Более того, ваш второй маршрут к path="/users/:userId"
затмевает первый маршрут.Это означает, что невозможно определить, является ли hey
в /users/hey
startDate
или userId
.Вы должны ввести отдельный маршрут, например path="/users/page/:userId"
.