首頁 > web前端 > js教程 > 如何修復 React Router v6 中的「[PrivateRoute] 不是元件」錯誤?

如何修復 React Router v6 中的「[PrivateRoute] 不是元件」錯誤?

DDD
發布: 2024-11-01 03:16:27
原創
682 人瀏覽過

How to Fix

錯誤:[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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板