React Router:在react-router-dom中找不到重定向和切换组件

问题描述 投票:0回答:1

我的 React 应用程序遇到问题,找不到从react-router-dom 导入的重定向和切换组件。这是我的代码:

import React from 'react';
import { BrowserRouter as Router, Route, Redirect, Switch } from 'react-router-dom';
import Users from './Users/pages/Users';

const App = () => {
  return (
    <Router>
      <Switch>
        <Route path="/" exact>
          <Users />
        </Route>
         
        <Redirect to="/" />
      </Switch>
    </Router>
  );
};

export default App;

但是,我收到以下错误消息:

export 'Redirect' (imported as 'Redirect') was not found in 'react-router-dom'
export 'Switch' (imported as 'Switch') was not found in 'react-router-dom'

我已经检查了我的项目中是否安装了react-router-dom "react-router-dom": "^6.21.0",并且我已经验证了我的导入语句与包提供的命名导出相匹配。我不确定为什么我仍然遇到这个问题。任何有关如何解决此问题的见解或建议将不胜感激。谢谢!

reactjs react-router react-router-dom react-router-component
1个回答
0
投票

我认为重定向和切换功能在版本6中被替换 您可以使用 useNavigate 钩子进行重定向,并将 Route 嵌套在 Routes 组件中

    <BrowserRouter>
     <Routes>
        <Route index element={<Home/>}/>
        <Route path="/" element={<Something else/>}/>
     </Routes>
    </BrowserRouter>

您可以查看 React router dom 版本 6 的文档以获取更多详细说明

© www.soinside.com 2019 - 2024. All rights reserved.