Nuestra aplicación se ha actualizado recientemente a la versión beta de reaccionar-router-dom, y las cosas estaban bien. Luego, cuando intento actualizar a 6.0.2, tengo un montón de invariantes errores acerca de All component children of <Routes> must be a <Route> or <React.Fragment>
. Esto es porque tenemos nuestras rutas se definen de la siguiente manera:
La característica.jsx:
export const FeatureRoutes = () => (
<Routes>
<Route path="/" element={<Feature1 />} />
<Route path="/*" element={<NotFound />} />
</Routes>
);
las rutas.jsx:
export const routes = [
{
path: "feature",
component: FeatureRoutes,
},
/* lots of other routes, defined the same way: <Route> wrapped in a component */
];
App.jsx:
<Routes>
{routes.map((route) => (
<Route key={route.path} path={`${pathPrefix}/${route.path}/*`}>
<route.component />
</Route>
))}
</Routes>
Ahora, esto se traduce en que el error anterior, debido a que el interior de rutas (por ejemplo FeatureRoutes
) están envueltos en un componente funcional. He intentado devolver el literal JSX pero después otro error. No estoy seguro de cómo resolver este problema: es la única respuesta a re-escribir por completo, ¿cómo definimos nuestras rutas? También tenemos algunas rutas que se almacenan en el back-end y el mapa de componentes personalizados - repito, no estoy seguro de cómo me puede envolver estas ahora no puedo tener un componente entre Rutas y la Ruta.
Cualquier consejo apreciado.