Maison > Questions et réponses > le corps du texte
J'utilise Reactjs et j'essaie d'utiliser "Dynamic Routing" maintenant, mais la page s'affiche vide. Voici mon fichier de routage :
export default function Router() { return useRoutes([ { path: "/", element: <Layout />, errorElement: <Page404 />, children: [ { element: <HomePage />, index: true }, { element: <User />, index: true }, ], }, ]); } const HomePage = Loadable(lazy(() => import("../pages/HomePage"))); const User = Loadable(lazy(() => import("../pages/User"))); const Page404 = Loadable(lazy(() => import("../pages/Page404")));
J'essaie d'accéder au fichier "User.js" dans (src/pages), voici mon fichier User.js :
import React, { useEffect, useState } from "react"; import { useParams, withRouter } from "react-router"; import axios from "axios"; const User = (props) => { const params = useParams(); const [users, setUsers] = useState({}); useEffect(() => { async function fetchData() { const res = await axios( `https://jsonplaceholder.typicode.com/comments/${params.id}` ); console.log("INDI", res.data); setUsers(res.data); } fetchData(); }, []); return ( <> <div>Hello worldddddddd</div> </> ); }; export default User;
P粉8850351142023-09-07 11:02:47
Le problème est que vous avez ajouté index=true
pour les deux éléments enfants. Vous ne pouvez avoir qu'une seule page d'index
Exemple :
return useRoutes([ { path: "/", element: <Layout />, errorElement: <Page404 />, children: [ { element: <HomePage />, index: true }, { element: <User />}, ], }, ]); } const HomePage = Loadable(lazy(() => import("../pages/HomePage"))); const User = Loadable(lazy(() => import("../pages/User"))); const Page404 = Loadable(lazy(() => import("../pages/Page404")));
Vous pouvez en savoir plus sur le but de grâce à la réponse acceptée index=true
à cette question.