Я попытался перенаправить параметры «: id» в ответ с помощью подмаршрута «: id/history», и ссылка маршрута не отображает компонент при нажатии
<Switch>
<Route path = "/patients/:id" exact component = {GeneralData} />
<Route path = "/patients/:id/history" component = {History} />
</Switch>
Готово! проблема в родительском коммутаторе, у меня был такой же заказ в Route's, спасибо, чувак!
Пожалуйста, братан! Удачного кодирования!
Я думаю, вы опускаете exact
param.
Можно попробовать в таком порядке "<Точный путь маршрута...".
Компонент Switch
отображает первый маршрут, соответствующий введенному вами URL-адресу.
Потому что вы используете подстановочный знак для своего GeneralData
маршрута вот так
<Route path = "/patients/:id" component = {GeneralData}/>
Независимо от того, что вы вводите после /patients
, оно попадает в это определение подстановочного знака этого маршрута, потому что оно принимает буквально все. Таким образом, даже если вы перейдете к /patients/4834834/history
, он все равно будет удовлетворять маршруту GeneralData
, который был найден первым в списке маршрутов.
Чтобы это исправить, просто переместите свой Исторический маршрут над маршрутом GeneralData. Это делает так, что маршрут GeneralData
не будет отображаться для всего, что просто удовлетворяет /patients/:id
. Switch
сначала посмотрит, соответствует ли ваш URL History
.
<Switch>
<Route path = "/patients/:id/history" component = {History} />
<Route path = "/patients/:id" component = {GeneralData} />
</Switch>
Привет, Сиддхарта, я только что написал тебе ответ, дай мне знать, если это прояснит тебе ситуацию :)