react+ts路由报错No overload matches this call?

duyidao
  • 1
广东新手上路,请多包涵

如题。在App.tsx文件中创建引入了录音:

import { lazy, Suspense } from 'react'
import { Route, Switch, Redirect } from "react-router-dom";

// 引入路由
const Login = lazy(() => import("@/pages/Login"))
const Layout = lazy(() => import("@/pages/Layout"))

export default function App() {
  return (
    <>
    <Suspense fallback={<div>Loading</div>}>
      <Switch>
        <Redirect exact path='/' to='/layout' />
        <Route path="/layout" component={Layout}></Route>
        <Route path="/login" component={Login}></Route>
      </Switch>
    </Suspense>
    </>
  )
}

react需要在外侧包裹Router才能使用,我包裹在index.tsx中:

import ReactDOM from "react-dom";
import App from './App'
import { BrowserRouter as Router } from "react-router-dom";

ReactDOM.render(
  <Router>
    <App/>
  </Router>,
  document.getElementById('root'))

最后给我报错,目前我的技术只能看得出是ts报的类型错误,但是不知道怎么解决,求指点迷津。
image.png

回复
阅读 734
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏