如上图所示报错,经过查阅学习:
react-router-dom从V5升级到V6后,有些使用做了改变:
(1) Switch 重命名为 Routes
// v5中: exact 精确路由 component 组件
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route path="/profile" component={Profile}>
</Route>
</Switch>
// v6中:
<Routes>
<Route path="/" element={<Home />} />
<Route path="profile/*" element={<Profile />} />
</Routes>
(2) Route 的新特性变更 ,component/render被element替代
.component={ App }
.element={ <App/> }
// 引入组件
import Profile from './Profile';
// v5
<Route path=":userId" component={Profile} />
<Route
path=":userId"
render={routeProps => (
<Profile routeProps={routeProps} animate={true} />
)}
/>
// v6
<Route path=":userId" element={<Profile />} />
<Route path=":userId" element={<Profile animate={true} />} />
(3) 嵌套路