К вашему сведению, я использую React Router 5.
В моем package.json есть следующая зависимость:
"response-router-dom": "^ 5.0.0",
[Вопрос отредактирован на более упрощенном примере]
Позвольте мне описать проблему, с которой я сталкиваюсь. Все следующие URL
http://localhost:3001/contact
http://localhost:3001/contact/
http://localhost:3001/contact/john50
соответствует следующему маршруту (с 1 необязательным параметром)
<Route path="/contact/:name([A-Za-z]+)?" component={Contact} />
JSfiddle для вышеуказанного поведения.
Затем я обновил вышеупомянутый маршрут, добавив еще один необязательный параметр age.
Это выглядит так:
<Route path="/contact/:name([A-Za-z]+)?:age(\d{2})?" component={Contact} />
Почему этот новый обновленный маршрут с 2 необязательными параметрами соответствует этому URL:
http://localhost:3001/contact/
и не по этому URL:
http://localhost:3001/contact
Jsfiddle за это странное поведение
Почему? Может кто-нибудь объяснить?