react 导入 react-router-dom@6.3.0版本,引入Switch报 ‘Switch‘ is not exported from ‘react-router-dom‘

在升级react-router-dom到v6.3.0后,Switch被重命名为Routes,Route的component属性变为element,嵌套路由和历史管理也有所改变。新的API Outlet简化了嵌套路由,useNavigate替代了useHistory,useRoutes取代了react-router-config。此外,React Router v6的包体积减小了一半以上。
摘要由CSDN通过智能技术生成

如上图所示报错,经过查阅学习:

react-router-domV5升级到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) 嵌套路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值