I have this error when I try to import useRouteMatch from react-router-dom module, I have this error :
Attempted import error: 'useRouteMatch' is not exported from 'react-router-dom'.
do I have a wrong version of the react-router-dom module ?
import {
BrowserRouter as Router,
Switch,
Route,
Link,
useRouteMatch,
useParams
} from "react-router-dom";
I looked in the module's exports, and in fact, it's not exported. Do I have a wrong version of it ?
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 };
Please help, I need your brain :)
Step 1: To start with, create a React application using the following command: npx create-react-app <project_name>; Step 2: Install the latest version of react-router-dom in the React application by the following. Project Structure: Create a folder named components in the src folder and add files Home.
To install React Router, all you have to do is run npm install react-router-dom@6 in your project terminal and then wait for the installation to complete. If you are using yarn then use this command: yarn add react-router-dom@6 .
If upgrading from v5 to v6, replace useRouteMatch
with useMatch
per the upgrade guide...
https://reactrouter.com/docs/en/v6/upgrading/v5#replace-useroutematch-with-usematch
I Solved updating react-router-dom
to a version greater than 5.1
npm install [email protected] --save
Dont forget to boot the app again with npm start
to see the changes.
I had the same issue, for me I just needed to update the version of react-router I was using.
useRouteMatch
was added with react-router V5.1 https://reacttraining.com/blog/react-router-v5-1/#useroutematch
Update your package.json to "react-router-dom": "^5.1.2",
Delete node modules and run npm install
Simply update your react-router-dom
version to latest.
npm i react-router-dom@latest
Check react-router-dom
version should be compatible or greater than "5.1" so you can use some hooks like useRouteMatch()
, useHistory()
..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With