Я бы рекомендовал добавить к пути некоторую структуру, которая облегчит вам поиск местоположения, например:
<Route path='/search/:city/:specialty' component={Specialty} />
Так что это будет соответствовать domian.com/search/delhi/cardiologist
.Вы можете настроить его так, чтобы это имело смысл, это может быть даже короткое письмо, например /go/
, если вас беспокоит длина URL из-за SEO.
Затем внутри компонента Specialty вы можете использовать match.params.city
и match.params.specialty
для получения параметров, которые вы ищете:
function Specialty({ match }) {
const { city, specialty } = match.params;
return (
<p>Search for {specialty} in the city of {city}</p>
);
}
Вы все еще можете реализовать маршрут catch-all , используя нужный путь:
<Route path='/:city/:specialty' component={Specialty} />
Однако для этого потребуется всегда устанавливать маршрут в конце, чтобы он попадал на ваш компонент <Specialty />
, только если он не совпадает ни с каким другим вашим путем.