Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Membetulkan Ralat \'[PrivateRoute] bukan komponen\' dalam React Router v6?

Bagaimana untuk Membetulkan Ralat \'[PrivateRoute] bukan komponen\' dalam React Router v6?

DDD
Lepaskan: 2024-11-01 03:16:27
asal
679 orang telah melayarinya

How to Fix

Ralat: [PrivateRoute] bukan komponen

Ralat ini berlaku apabila menggunakan React Router v6 dan cuba mencipta laluan peribadi. Kod yang diberikan dalam PrivateRoute.js cuba mengembalikan komponen Route, tetapi ia tidak dieksport seperti itu.

Penyelesaian:

Untuk menyelesaikan isu ini, ubah suai PrivateRoute Fail .js seperti berikut:

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;
Salin selepas log masuk

Dalam fail App.js, pastikan laluan peribadi ditakrifkan seperti berikut:

<Route exact path='/' element={<PrivateRoute />}>
  <Route exact path='/' element={<Home />} />
</Route>
Salin selepas log masuk

Kod yang disemak ini akan memastikan komponen PrivateRoute diiktiraf sebagai komponen Laluan dan akan berfungsi dengan betul untuk penghalaan peribadi.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat '[PrivateRoute] bukan komponen' dalam React Router v6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan