Naša aplikácia nedávno aktualizované beta verzie reagovať-router-dom, a veci, ktoré boli v poriadku. Potom, keď sa snažím aktualizovať 6.0.2, mám veľa nemenné chyby týkajúce sa All component children of <Routes> must be a <Route> or <React.Fragment>
. Je to preto, že máme trasy definované takto:
Funkcia.jsx:
export const FeatureRoutes = () => (
<Routes>
<Route path="/" element={<Feature1 />} />
<Route path="/*" element={<NotFound />} />
</Routes>
);
trasy.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>
To teraz výsledky v chybovom vyššie, pretože vnútorné trasy (napríklad FeatureRoutes
) sú zabalené v funkčné zložky. Snažil som sa vracia doslovný JSX ale potom si inú chybu. Nie som si istý, ako to opraviť: je len odpoveď na úplne prepísať ako definujeme naše cesty? Máme aj niektoré cesty, ktoré sú uložené v back-end a mapa na vlastné komponenty - opäť nie som si istý, ako môžem zabaliť tieto teraz nie som si dovolil mať komponentu medzi Trasy a Trasu.
Akékoľvek rady ocenili.