React Router 4 Nested Routes not rendering

前端 未结 1 1051
一生所求
一生所求 2020-11-30 14:48

I\'m trying to do nested routing in one of my components.

Here\'s the parent component:

const App = () => (
  
    

        
相关标签:
1条回答
  • 2020-11-30 15:09

    This behaviour happens because have an exact attribute mentioned on the parent route

    <Route exact path="/" component={Landing} />
    

    So what happens is that react-router sees a path /test to match and then tries to match it starting from the top level. and it sees two routes one is exactly / and other is /contribute. None of them match the required path and hence you see a blank page

    You need to write

    <Route path="/" component={Landing} />
    

    So when you do this, it will see / which matches /test partially and then will try to find a matched route in the landing component which it will find.

    Also change the order of the parent Route, since Switch renders the first match and / is a partial match for /test so /contribute wont work

    Your final code would look like

    const App = () => (
      <BrowserRouter>
        <Provider store={store}>
          <Switch>
            <Route path="/contribute" component={Contribute} />
            <Route path="/" component={Landing} />
          </Switch>
        </Provider>
      </BrowserRouter>
    );
    
    0 讨论(0)
提交回复
热议问题