react-router-dom v6文档

2021-11-10 17:44:39
# react-router-dom v6文档 ## Switch 重命名为Routes ``` // v5 <Switch> <Route exact path="/"><Home /></Route> <Route path="/profile"><Profile /></Route> </Switch> // v6 <Routes> <Route path="/" element={<Home />} /> <Route path="profile/*" element={<Profile />} /> </Routes> ``` > 注意 <Route path="profile/*" element={<Profile />} /> 的path的后面有`*`号 ## props.match 变成 useParams ``` import { Routes, Route, useParams } from "react-router-dom"; function App() { return ( <Routes> <Route path="blog/:id" element={<BlogPost />} /> </Routes> ); } function BlogPost() { // 获取参数id let { id } = useParams(); return ( <> </> ); } ``` ## history的用法也将被替换成: ``` // v5 history.push('/home'); history.replace('/home'); // v6 navigate('/home'); navigate('/home', {replace: true}); ``` ![mxcp_1636538394342.jpg](https://static.daimaku.net/post/202111/10/c465c4b8f70645528f8d9abfe05c3ac5.jpg)