Я пытаюсь проверить "/ admin / posts / new" для "/ admin / *" в реакции-маршрутизаторе v6. Я обнаружил, что есть функция matchRoutes
import { useLocation } from "react-router"; const { pathname } = useLocation(); const isAdminPath = someMatchFunc(pathname,"/admin/*") <<<< something goes here returns true or null
Используйте useRouteMatch вместо matchPath
useRouteMatch
matchPath
import { useRouteMatch } from "react-router-dom"; function BlogPost() { let match = useRouteMatch("/blog/:slug"); // Do whatever you want with the match... return <div />; }
Возвращает объект, если он совпадает, иначе возвращает ноль.
import { matchPath } from 'react-router-dom' const match = matchPath('/users', { path: '/users', exact: true, strict: false })