ของโปรแกรมปรับปรุงเมื่อเร็วๆนี้เพื่อคนรุ่นเบต้าของโต้ตอบ-router-dom,และทุกอย่างไม่เป็นไรหรอก จากนั้นเมื่อฉันพยายามที่จะปรับปรุงให้ 6.0.2 ฉันได้เยอะแยะ invariant เกิดข้อผิดพลาดเรื่อง All component children of <Routes> must be a <Route> or <React.Fragment>
. นี่เป็นเพราะพวกเราต้องของเส้นทางกำหนดไว้ตาม:
คุณสมบัติ.jsx:
export const FeatureRoutes = () => (
<Routes>
<Route path="/" element={<Feature1 />} />
<Route path="/*" element={<NotFound />} />
</Routes>
);
เส้นทาง.jsx:
export const routes = [
{
path: "feature",
component: FeatureRoutes,
},
/* lots of other routes, defined the same way: <Route> wrapped in a component */
];
แอพjsx:
<Routes>
{routes.map((route) => (
<Route key={route.path} path={`${pathPrefix}/${route.path}/*`}>
<route.component />
</Route>
))}
</Routes>
ตอนนี้ส่งผลให้เกิดข้อผิดพลาดอยู่เหนือเพราะตนภายในเส้นทางสำรอง(ตัวอย่างเช่น FeatureRoutes
)เป็นห่ออยู่ในงานส่วนประกอบ. ฉันพยายามกลับมาสอบรยึดตามตัวอักษรแบบนั้ JSX แต่แล้วก็อีกข้อผิดพลาด ฉันไม่แน่ใจว่าวิธีที่จะแก้ไขเรื่องนี้คือคำตอบเดียวกัเลยเขียนใหม่ที่เรากำหนดเส้นทางของเรา? เรายังต้องมีเส้นทางนั้นจะถูกจัดเก็บไว้ในกลับมา-จบแล้วแผนที่จะกำหนดเองส่วนประกอบ-อีกครั้งฉันไม่แน่ใจว่าฉันจะห่อพวกนี้ตอนนี้ฉันไม่ได้รับอนุญาตให้มีส่วนประกอบระหว่างเส้นทางและเส้นทางได้
มีคำแนะนำอะไรไหมเกียรติอย่างยิ่ง