off*_*ngh 3 javascript reactjs react-router react-router-v4 react-router-dom
我的反应应用程序react-router-dom无法工作。它显示错误
类型错误:path_to_regexp__WEBPACK_IMPORTED_MODULE_8___default.a.compile 不是函数
查看图像
我不知道为什么会显示 react-router-dom 的错误问题
检查我的代码
该代码显示错误
import React from 'react'
import DefaultLayout from './Component/Layout/DefaultLayout';
import DefaultLogin from './Component/Login/DefaultLogin';
import DefaultSignup from './Component/Sign-up/DefaultSignup';
// react-router-dom
import { BrowserRouter as Router, Route, Switch, Redirect } from "react-router-dom";
// bootstrap css
import 'bootstrap/dist/css/bootstrap.min.css';
// css for global
import './App.scss';
export default function App() {
return (
<>
<Router>
<Switch>
<Route path="/admin" exact component={DefaultLayout} />
<Route path="/admin/signup" component={DefaultSignup} />
<Route path="/admin/login" component={DefaultLogin} />
<Redirect from="/" to="/admin" />
</Switch>
</Router>
</>
)
}
Run Code Online (Sandbox Code Playgroud)
该代码没有显示错误,但其余应用程序无法正常工作,因为我使用Redirect ,在Switch组件之外
export default function App() {
return (
<>
<Router>
<Switch>
<Route path="/admin" exact component={DefaultLayout} />
<Route path="/admin/signup" component={DefaultSignup} />
<Route path="/admin/login" component={DefaultLogin} />
</Switch>
{/* this show not error but rest app not work proper */}
<Redirect from="/" to="/admin" />
</Router>
</>
)
}
Run Code Online (Sandbox Code Playgroud)
小智 7
通常会发生此错误,因为 create-react-app 安装了 Express 模块,您可以在 package.lock.json 中看到该模块,并且它进一步安装了旧版本(例如 0.1.7)的 path-to-regexp,但为了使 React-router 正常工作它需要1.7.0或更高版本。因此,您可以在应用程序中安装 path-to-regexp 模块(npm i path-to-regexp)并重新启动应用程序。一切都会很好。
| 归档时间: |
|
| 查看次数: |
4125 次 |
| 最近记录: |