1. matchPath
matchPath
是一个函数。它接收两个参数,pathname
和props
对象。返回值是一个经过匹配计算的match对象,未匹配到返回null
。
它使您可以使用相同的匹配代码,<Route>
在正常的渲染周期外使用,就像在服务器进行渲染之前收集数据依赖关系。
import { matchPath } from 'react-router'
const match = matchPath('/users/123', {
path: '/users/:id',
exact: true,
strict: false
})
console.log(typeof(matchPath)); //function
console.log(match);
返回的match
{
isExact: true
params: {id: "123"}
path: "/users/:id"
url: "/users/123"
}
1.1. pathname
第一个参数是您想要匹配的路径名。如果您正在使用Node服务器,它将是req.url
。
1.2. props
第二个参数是定制匹配的props,它们和Route
接收的match
props是一样的
{
path, // like /users/:id
strict, // optional, 默认值 false
exact // optional, 默认值 false 只表示匹配模式,与match的isExact无关
}
props只接受这三个属性,其余的会被忽略,