2017-08-15 5 views
0

Ich habe den folgenden Code -react Router verschachtelte Komponenten Ausgabe

class App extends Component { 
    render() { 
     return (
      <Router> 
       <Switch> 
         <MainPage> 
          <Route exact path="user" component={Error}/> 
         </MainPage> 
       </Switch> 
      </Router> 
     ) 
    } 
} 

Gerade jetzt Mainpage für jede URL gerendert wird, die ich verstehen, warum, aber können sagen, dass ich es nur für bestimmte Seiten sein wollen, machen . Wie kann ich es wickeln, um es zu erledigen?

+0

die Dokumentation lesen: https://reacttraining.com/react-router/core/api/Switch –

Antwort

0

Angenommen, Sie Mainpage für /user und /member, zeigen wollen, während /anonymous wird ohne Mainpage angezeigt:

class App extends Component { 
    render() { 
     return (
      <Router> 
       <Switch> 
        <Route path="/anonymous" component={Anonymous} /> 
        <Route path="/" component={MainPage} /> 
       </Switch> 
      </Router> 
     ) 
    } 
} 

class MainPage extends Component { 
    render() { 
    return (
     <div> 
     .... // place your original code to print the `MainPage` here 

     <Route path="/user" component={User}/> 
     <Route path="/member" component={Member}/> 
     </div> 
    ) 
    } 
} 
+0

Nur um sicher zu gehen, schicke Route von/user und/member in MainPage auch als props.children an die MainPage-Komponente? –

+0

Nein, das ist ein anderer Fall. Darf ich wissen, wofür Sie die Routen (auf der MainPage) benötigen? – Win

Verwandte Themen