Sim*_*mon 6 reactjs react-router
我正在使用react-router v6,并且尝试使用自定义历史记录来能够在redux操作中导航(在组件外部)。所以我使用的Router from 'react-router
是而不是BrowserRouter from 'react-router-dom
文档中提到的。
这是我的代码:
索引.js
import myHistory from './utils/history';
import { Router } from 'react-router';
ReactDOM.render(
<Provider store={store}>
<Router history={myHistory}>
<App />
</Router>
</Provider>,
document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)
应用程序.js
import React from 'react';
import MainNavigation from './components/navigations/MainNavigation';
import Routes from './routes/Routes';
const App = () => {
return (
<>
<MainNavigation />
<Routes />
</>
);
};
export default App;
Run Code Online (Sandbox Code Playgroud)
MainNavigation.js
import React from 'react';
import { Link } from 'react-router-dom';
const MainNavigation = () => {
return (
<>
<nav className='navigation'>
<ul>
<li>
<Link to='/'>Home</Link>
</li>
<li>
<Link to='/contact'>Contact</Link>
</li>
<li>
<Link to='/about'>A propos</Link>
</li>
<li>
<Link to='/user-profile'>Votre compte</Link>
</li>
</ul>
</nav>
</>
);
};
export default MainNavigation;
Run Code Online (Sandbox Code Playgroud)
路由.js
//** Import routers */
import {Route, Routes as Routing } from 'react-router-dom';
const Routes = () => {
return (
<Routing>
<Route path='/' element={<Home />} />
<Route path='/about' element={<About />} />
<Route path='/contact' element={<ContactForm />} />
<Route path='/user-profile' element={<UserAccount />} />
</Routing>
);
};
export default Routes;
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么收到错误消息Cannot readproperties of undefined (reading 'pathname')。当我切换到 BrowserRouter 而不是 Router 时它可以工作,但我无法在我的应用程序中使用历史记录(现在在 v6 中为“导航”)。
谢谢。
归档时间: |
|
查看次数: |
5069 次 |
最近记录: |