कैसे जाने के लिए विशिष्ट मार्ग प्रतिपादन के बिना कुछ घटकों में प्रतिक्रिया?

0

सवाल

मैं का उपयोग कर रहा हूँ react-router-dom v6. मैं चाहता हूँ मेरी Login पृष्ठ प्रदान करने के बिना Sidebar और Topbar घटकों । यह कैसे करना है?

function App() {
  return (
    <Router>
      <Container>
        <Sidebar />
        <Content>
          <Topbar />
          <MainContent>
            <Routes>
              <Route path="/" element={<Home />} />
              <Route path="/users" element={<UserList />} />
              <Route path="/users/:id" element={<User />} />
              <Route path="/newUser" element={<NewUser />} />
              <Route path="/products" element={<ProductList />} />
              <Route path="/products/:id" element={<Product />} />
              <Route path="/newProduct" element={<NewProduct />} />
              <Route path="/login" element={<Login />} />
            </Routes>
          </MainContent>
        </Content>
      </Container>
    </Router>
  );
}

मैं नहीं चाहता कि मेरे लॉगिन पेज रेंडर करने के लिए के अंदर MainContent लेकिन पूरे लेने के बिना पृष्ठ Sidebar और Topbar.

मैं करने की कोशिश की चलती है Routes ऊपरी और लॉगिन route ऊपर साइडबार लेकिन वहाँ एक त्रुटि है Error: [Sidebar] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>

1

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

0

के बाद से SideBar और TopBar के लिए दिखाई देते हैं का हिस्सा हो सकता है एक "लेआउट", और आप चाहते हैं एक अलग "लेआउट" के लिए विशेष रूप से "/लॉगिन" तो मैं सुझाव है कि सार संक्षेप कंटेनर घटकों में लेआउट घटक है । प्रत्येक लेआउट कंटेनर प्रस्तुत करना चाहिए एक Outlet के लिए उनके संबंधित नेस्टेड मार्गों.

const AppLayout = () => (
  <Container>
    <Sidebar />
    <Content>
      <Topbar />
      <MainContent>
        <Outlet />
      </MainContent>
    </Content>
  </Container>
);

const LoginLayout = () => (
  <Container>
    <Content>
      <MainContent>
        <Outlet />
      </MainContent>
    </Content>
  </Container>
);

...

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<AppLayout />}>
          <Route index element={<Home />} />
          <Route path="users" element={<UserList />} />
          <Route path="users/:id" element={<User />} />
          <Route path="newUser" element={<NewUser />} />
          <Route path="products" element={<ProductList />} />
          <Route path="products/:id" element={<Product />} />
          <Route path="newProduct" element={<NewProduct />} />
        </Route>
        <Route path="/login" element={<LoginLayout />}>
          <Route index element={<Login />} />
        </Route>
      </Routes>
    </Router>
  );
}
2021-11-24 01:47:40

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

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

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

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

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