प्रतिक्रिया-रूटर-डोम 6 उन्नयन में मदद: सभी घटक बच्चों के <मार्गों> एक होना चाहिए <मार्ग> या <प्रतिक्रिया.टुकड़ा>

0

सवाल

हमारे आवेदन हाल ही में अद्यतन करने के लिए बीटा संस्करणों की प्रतिक्रिया-रूटर-डोम, और चीजें ठीक थे. फिर जब मैं अद्यतन करने की कोशिश करने के लिए 6.0.2, मैं बहुत सारे पाने के अपरिवर्तनीय त्रुटियों के बारे में 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 लेकिन फिर एक और त्रुटि है । मैं नहीं हूँ यकीन है कि कैसे इसे ठीक करने के लिए: केवल जवाब देने के लिए पूरी तरह से फिर से लिखना कैसे हम परिभाषित हमारे मार्गों? हम भी कुछ किया है कि मार्गों में संग्रहित कर रहे हैं वापस-अंत और नक्शा करने के लिए कस्टम घटक - फिर मैं नहीं हूँ यकीन है कि कैसे मैं लपेट कर सकते हैं इन अब मैं कर रहा हूँ करने के लिए अनुमति नहीं है एक घटक के बीच मार्गों और मार्ग.

किसी भी सलाह की सराहना की है ।

react-router react-router-dom
2021-11-23 13:24:53
1

सबसे अच्छा जवाब

1

मेरा मानना है कि एक छोटे से refactor मिल जाएगा अपने अनुप्रयोग प्रतिपादन फिर से.

में routes सरणी का नाम बदलें component करने के लिए Component तो, यह गाया जा सकता है के रूप में एक प्रतिक्रिया के घटक है, यानी, के रूप में ठीक से नाम घटक प्रतिक्रिया (PascalCased).

const routes = [
  {
    path: "feature",
    Component: FeatureRoutes
  }
  /* lots of other routes, defined the same way: <Route> wrapped in a component */
];

जब मानचित्रण routes प्रस्तुत करना Component बाहर पर Route घटक की element सहारा के रूप में JSX.

<Routes>
  {routes.map(({ path, Component }) => (
    <Route
      key={path}
      path={`${pathPrefix}/${path}/*`}
      element={<Component />}
    />
  ))}
</Routes>

Edit react-router-dom-6-upgrade-help-all-component-children-of-routes-must-be-a-r

2021-11-23 16:27:48

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में