我有一个组件:
import React from 'react';
import Footer from '../Footer';
import AddTodo from '../../containers/AddTodo';
import VisibleTodoList from '../../containers/VisibilityTodoList';
const App = () => (
<div>
<AddTodo />
<VisibleTodoList />
<Footer />
</div>
);
export default App;
我还有一个:
import React from 'react';
import App from './../../App/';
// import Footer from '../../Footer';
const Body = () => (
<div>
<App />
</div>
);
export default Body;
请注意,第二个只是包装另一个组件的组件....
我不断收到以下错误,RangeError: Maximum call stack size exceeded
const routes = (
<Route path="/" component={TopNavBar}>
<IndexRoute component={Body} />
</Route>
);
export default routes;
但是,如果我将其更改为:
const routes = (
<Route path="/" component={TopNavBar}>
<IndexRoute component={App} />
</Route>
);
export default routes;
它工作得很好。请注意,唯一的区别是第一个,索引路由为“Body”,只是一个包装功能性 App 组件的功能性组件。为什么这会导致最大调用堆栈大小错误?