Какой способ обработки путей с косой чертой через реагирующий маршрутизатор? - PullRequest
1 голос
/ 19 сентября 2019

У меня проблема с динамической маршрутизацией с реакции-роутером.Мой пример пути выглядит следующим образом:

/contacts/C/BG-DPC-063

И это мой маршрут:

<Route path='/contacts/:contactId' component={Contacts}/>

Итак, когда я пытаюсь обработать свой матч:

const {
    params: { contactId }
} = match;

contactId - это просто "C" из-за косой черты.Как я могу справиться с этим?Это идентификатор из API, поэтому я не могу его изменить.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Все зависит от того, какие части URL являются динамическими?Если «C» не является динамическим

<Route path='/contacts/C/:contactId' component={Contacts}/>

, в противном случае

<Route path='/contacts/:apiID/:contactID' component={Contacts}/>

Если дело обстоит со вторым примером, обязательно обработайте несуществующий случай appID и / или contactIDпотому что пользователь может ввести что-либо действительное / недействительное для :appID и / или :contactID в URL (если оно недействительно, перенаправить его на другую страницу или показать какое-либо сообщение).

0 голосов
/ 19 сентября 2019

Почему бы вам не использовать:

<Route path='/contacts/:contactPrefix/:contactSuffix' component={Contacts}/>

Тогда вы объедините их позже?

...