Jan*_*nus 10 reactjs react-router react-router-dom
当我尝试从 react-router-dom 模块导入 useRouteMatch 时出现此错误,出现此错误:
尝试导入错误:“useRouteMatch”未从“react-router-dom”导出。
我有错误版本的 react-router-dom 模块吗?
import {
    BrowserRouter as Router,
    Switch,
    Route,
    Link,
    useRouteMatch,
    useParams
} from "react-router-dom";我查看了模块的导出,实际上并没有导出。我有错误的版本吗?
import _BrowserRouter from "./BrowserRouter";
export { _BrowserRouter as BrowserRouter };
import _HashRouter from "./HashRouter";
export { _HashRouter as HashRouter };
import _Link from "./Link";
export { _Link as Link };
import _MemoryRouter from "./MemoryRouter";
export { _MemoryRouter as MemoryRouter };
import _NavLink from "./NavLink";
export { _NavLink as NavLink };
import _Prompt from "./Prompt";
export { _Prompt as Prompt };
import _Redirect from "./Redirect";
export { _Redirect as Redirect };
import _Route from "./Route";
export { _Route as Route };
import _Router from "./Router";
export { _Router as Router };
import _StaticRouter from "./StaticRouter";
export { _StaticRouter as StaticRouter };
import _Switch from "./Switch";
export { _Switch as Switch };
import _generatePath from "./generatePath";
export { _generatePath as generatePath };
import _matchPath from "./matchPath";
export { _matchPath as matchPath };
import _withRouter from "./withRouter";
export { _withRouter as withRouter };请帮忙,我需要你的大脑:)
Ada*_*ers 39
如果从 v5 升级到 v6,请根据升级指南替换useRouteMatch为...useMatch
小智 19
我遇到了同样的问题,对我来说,我只需要更新我正在使用的 react-router 版本。
useRouteMatch加入 react-router V5.1 https://reacttraining.com/blog/react-router-v5-1/#useroutematch
将您的 package.json 更新为 "react-router-dom": "^5.1.2",
删除节点模块并运行 npm install
小智 7
我解决了更新  react-router-dom到大于 5.1 的版本
npm install react-router-dom@5.1.2 --save
不要忘记再次启动应用程序以npm start查看更改。
只需将您的 react-router-dom版本更新到最新。
npm i react-router-dom@latest
小智 -11
钩子不能在类组件内部使用。您应该重构您的代码以使其正常工作。使用 useState 和 useEffect 挂钩,您仍然可以利用组件级别状态和组件生命周期。
如果没有该组件的完整代码,我无法对您的示例执行此操作。