when I use the routes with react-router-dom 6, I see two different errors:
TypeError: Cannot destructure property 'pathname' of ''undefinded' or 'null'
TypeError: Cannot read properties of undefined (reading 'pathname') and shows me this code from the react-router's file: C:/Users/FAMILIA/Desktop/packages/react-router/index.tsx:281
let { pathname = "/", search = "", hash = "", state = null,
what I have tried: installing again react-router-dom, updating the history dependency to the version 5.1.0
this is my code:
import { Router, Routes, Route, Link, NavLink } from 'react-router-dom'
import Home from './views/Home.jsx';
function App() {
return (
<Router>
<div>
<Link to="/home">Home</Link>
</div>
<Routes>
<Route path="/home" element={<Home/>}/>
</Routes>
</Router>
);
}
export default App;
these are the dependencies of the package.json
history
"dependencies": {
"@craco/craco": "^6.4.0",
"@testing-library/jest-dom": "^5.15.0",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"history": "^5.1.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router-dom": "^6.0.0",
"react-scripts": "4.0.3",
"web-vitals": "^1.1.2"
}
CodePudding user response:
Version 6 of react-router-dom has some pretty significant breaking changes from previous versions.
It's not common to use the Router import from react-router-dom though, even in version 4/5, you'd typically import one of BrowserRouter, HashRouter, or MemoryRouter over the lower level Router.
The cause of your issue is found
The alternative, OFC, is to just use one of the higher level routers instead.
Example:
import { BrowserRouter as Router, Routes, Route, Link } from "react-router-dom";
export default function App() {
return (
<Router>
<div>
<Link to="/home">Home</Link>
</div>
<Routes>
<Route path="/home" element={<Home />} />
</Routes>
</Router>
);
}
CodePudding user response:
I found a solution. Installing a previous version of the react-router-dom. I think is a new error, so I think a lot of people will have the same conflict with the last version of react.
