2017-06-15 136 views
0

試圖建立反應路由陣營路由器,最大調用堆棧大小超過

這是我的主要index.js文件

class App extends React.Component{ 

    constructor(props) { 
    super(props); 
    this.state = { 

    }; 
    } 

    render(){ 
    return (
     <Router history={hashHistory}> 
     <Route path={'/'} component={App}> 
      <Route path={'/quizzes'} component={Quiz}> </Route> 
     </Route> 
     </Router> 
    ) 
    }; 
}; 

ReactDOM.render(<App />, 
    document.getElementById('content')); 

我得到的錯誤說時,遇到了一些奇怪的錯誤Uncaught RangeError: Maximum call stack size exceeded

不知道爲什麼

+3

<路由路徑= { '/'}成分= {應用}>心不是那個遞歸? –

+0

,但如果我刪除它,我得到'[react-router]位置「/」與任何路由不匹配# –

+0

沒關係我現在解決了。設置一個不同的位置/ –

回答

3

你正在渲染你的應用程序,你已經呈現路由器。然後路由器呈現無限循環的應用程序。我覺得你的意思做更多的東西像這樣...

class App extends React.Component{ 
 

 
    constructor(props) { 
 
    super(props); 
 
    this.state = { 
 

 
    }; 
 
    } 
 

 
    render(){ 
 
    return (
 
     <div> 
 
     {this.props.children} 
 
     </div> 
 
    ) 
 
    }; 
 
}; 
 

 
ReactDOM.render(
 
     <Router history={hashHistory}> 
 
     <Route path={'/'} component={App}> 
 
      <Route path={'/quizzes'} component={Quiz}> </Route> 
 
     </Route> 
 
     </Router>, 
 
    document.getElementById('content'));
現在,而不是渲染應用這使得路由器,這使得應用程序,你只是渲染路由器在啓動,那麼因爲您可能會測試默認路由......「/」它會根據您的路線呈現應用和任何子組件。

參見:https://github.com/reactjs/react-router-tutorial/tree/master/lessons/02-rendering-a-route

相關問題