Как проверить, совпадает ли маршрут с шаблоном React-Router v4? - PullRequest
0 голосов
/ 11 июня 2018

Как я могу проверить, соответствует ли шаблон маршрута текущему маршруту, используя React Router v4 без компонентов Route или NavLink или записав собственное регулярное выражение для сопоставления с маршрутом?

Например, еслимаршрут /users/5/friends/3/pets/10/edit, я хочу иметь возможность проверить, соответствует ли маршрут шаблону (например, тот, который используется Route и NavLink).Как то так:

const isEditFriendPetRoute = routeMatches('/users/:userId/friends/:friendId/pets/:petId/edit');

console.log(
  isEditFriendPetRoute 
    ? `Is editing friend's pet`
    : `Is not editing friends pet`
)

1 Ответ

0 голосов
/ 03 октября 2018
import { matchPath } from 'react-router-dom'

const match = matchPath('/users/123', {
  path: '/users/:id',
  exact: true,
  strict: false
})

Если URL совпадает с шаблоном пути, он возвращает объект, в противном случае он возвращает ноль.

Проверьте API со следующей страницы https://reacttraining.com/react-router/web/api/matchPath

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...