错误:[PrivateRoute] 不是
使用 React Router v6 并尝试创建私有路由时会发生此错误。 PrivateRoute.js 中的给定代码尝试返回 Route 组件,但它不会这样导出。
解决方案:
要解决此问题,请修改 PrivateRoute .js 文件如下:
import React from 'react'; import { Navigate, Outlet } from 'react-router-dom'; const PrivateRoute = () => { const auth = null; // determine if authorized, from context or however you're doing it // If authorized, return an outlet that will render child elements // If not, return element that will navigate to login page return auth ? <Outlet /> : <Navigate to="/login" />; } export default PrivateRoute;
在 App.js 文件中,确保私有路由定义如下:
<Route exact path='/' element={<PrivateRoute />}> <Route exact path='/' element={<Home />} /> </Route>
此修改后的代码将确保 PrivateRoute 组件被识别为路由组件,并将在私有路由中正常工作。
以上是如何修复 React Router v6 中的“[PrivateRoute] 不是组件”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!