5.1版本的React-Router,带来了useHistory,useLocation,useParams,useRouteMatch四个钩子函数。
useParams
这个函数什么用呢?首先我们看一个不适用hooks
读取路由params
的方法:
import React from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
function BlogPost({ match }) {
let { slug } = match.params;
return <div>{slug}</div>;
}
ReactDOM.render(
<Router>
<div>
<Switch>
<Route path="/blog/:slug" component={BlogPost} />
</Switch>
</div>
</Router>,
document.getElementById("root")
);
可以看到,我们必须使用match
来获取路由中的params
。
那么如果使用useParams
怎么做呢&#x