Maison > interface Web > js tutoriel > le corps du texte

Comment corriger \'Erreur : [PrivateRoute] n'est pas un composant. Tous les enfants de composants doivent être un ou \' dans React Router v6 ?

DDD
Libérer: 2024-10-28 20:02:30
original
135 Les gens l'ont consulté

How to Fix

Erreur : [PrivateRoute] n'est pas un composant. Tous les enfants de composants de doit être un ou

Dans React Router v6, vous pouvez rencontrer une erreur indiquant qu'un composant de route privée n'est pas un composant de route valide. Cela se produit lorsque votre composant de route privée n'est pas correctement défini ou configuré.

Pour résoudre ce problème, suivez ces étapes :

Composant PrivateRoute

Assurez-vous que votre composant PrivateRoute est un composant React Route valide. Dans votre exemple, vous avez une erreur de syntaxe dans le composant PrivateRoute :

const ele = authed === true ? element : <Navigate to=&quot;/Home&quot;  />;
Copier après la connexion

Vous devez remplacer le / après par ="/Home" avec une double équerre de fermeture :

const ele = authed === true ? element : <Navigate to=&quot;/Home&quot; ></Navigate>;
Copier après la connexion

Configuration de l'itinéraire

Dans votre configuration d'itinéraire, assurez-vous que l'itinéraire privé est bien défini. Dans votre exemple, vous avez :

<PrivateRoute exact path=&quot;/&quot; element={<Dashboard/>}/>
Copier après la connexion

Cela ne fonctionnera pas car il vous manque un équerre de fermeture dans l'élément prop. Le code correct est :

<PrivateRoute exact path=&quot;/&quot; element={<Dashboard />} />
Copier après la connexion

Vous pouvez également utiliser une méthode différente pour configurer votre itinéraire privé, par exemple en utilisant une approche de rendu conditionnel :

<Route exact path='/' element={<PrivateRoute/>}>
  <Route exact path='/' element={<Dashboard/>}/>
</Route>
Copier après la connexion

Dans cet exemple, le composant PrivateRoute déterminera s'il faut restituer le composant du tableau de bord en fonction de l'état d'authentification.

Conclusion

En vous assurant que votre composant PrivateRoute est correctement défini et que la configuration de votre itinéraire est correcte, vous pouvez résoudre l'erreur Erreur : [PrivateRoute] n'est pas un composant. Tous les enfants de composants de doit être un ou .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!