我已经安装了 react-router-dom
V6-beta。通过遵循网站上的示例,我可以使用新选项 useRoutes
我设置了页面路由并将它们返回到 App.js
文件中。
保存后出现以下错误:
错误:useRoutes() 只能在组件的上下文中使用。
我想知道我是否在这里遗漏了什么?我在 src/pages
文件夹中创建了页面。
我的代码:
import { BrowserRouter, Link, Outlet, useRoutes } from 'react-router-dom';
// Pages
import Home from './pages/Home';
import About from './pages/About';
import Services from './pages/Services';
import Gallery from './pages/Gallery';
import Prices from './pages/Prices';
import Contact from './pages/Contact';
const App = () => {
const routes = useRoutes([
{ path: '/', element: <Home /> },
{ path: 'o-nama', element: <About /> },
{ path: 'usluge', element: <Services /> },
{ path: 'galerija', element: <Gallery /> },
{ path: 'cjenovnik', element: <Prices /> },
{ path: 'kontakt', element: <Contact /> }
]);
return routes;
};
export default App;
原文由 Galanthus 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该在树的上方有一个
<BrowserRouter>
(或任何 提供的路由器)。原因是<BrowserRouter>
提供了使用useRoutes()
创建路由时需要的历史上下文。请注意,更高意味着它不能在<App>
本身中,但至少在呈现它的组件中。这是您的入口点的样子: