react-router-dom中的match
来源:5-23 集成react-router

璀璨的光
2018-11-12
老师你好,我问下react-router-dom中的这个match对象到底是个什么东西,老师能详细解释下吗,最好有代码
写回答
1回答
-
吕小鸣
2018-11-13
你好,match是一个匹配路径参数的对象,它有一个属性params,里面的内容就是路径参数,除常用的params属性外,它还有url、path、isExact属性。
在使用React Router的组件里获取到match:
this.props.match;
params: 很好理解,可以在里面拿到页面当前url上的一些参数,例如?a=1&b=2这种以键值对存在的。
url:返回URL中匹配部分的字符串,url实际的值。用于创建嵌套的<Link>很有用。
例如:
<Link to={`${match.url}/4`}>{find(id).name}</Link>
path:返回Route中path属性的值,用于匹配路径模式。用来创建嵌套的<Route>。
举个例子:
路由"/users/:userId"。
match.path的返回值将是 "/users/:userId"。
而match.url 的返回值将是:userId的值,例如"users/5"。
isExact:标识进入这个router的是否是完全匹配进来的,这个和Route组件上的exact是对应的哦
<Route exact path="/abc" component={Home}/>
当然,所有的字面解释都是苍白的,到不如尝试自己写一个demo来学习,印象更深刻哦。
00
相似问题