当前位置: 首页 > 知识库问答 >
问题:

React 路由器,已超出最大呼叫堆栈大小

戚繁
2023-03-14

尝试设置react路由时出现一些奇怪的错误

这是我的主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 exceed

不知道为什么

共有1个答案

郑琦
2023-03-14

你正在渲染你的应用程序,你有渲染路由器。然后路由器渲染应用程序,这是一个无限循环。我想你的意思是做更像这样的事情……

js lang-js prettyprint-override">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'));
 类似资料:
  • 如果用户未登录,我尝试将用户重定向到“TrapPage”。 这是我的代码: 当我将函数requireAuth放在onEnter上时,控制台给我一个错误: 我是一个反应迟钝的人,请耐心点:) 我的代码有什么问题?

  • 我正在使用我岳父让我建立的一个网站作为学习React的借口。我不是一个天生的JavaScript开发人员(更喜欢后端),我知道我下面的代码中可能有一些递归元素,但我就是看不到。谁能告诉我我做错了什么?

  • 这是我在React中的第一个应用程序。在localhost中,一切正常,当我使用Github Pages部署时,我的应用程序(Info/Images/evenements)中的一些页面无法呈现。每次单击他们的链接访问他们时,我都会在控制台上看到一个白色页面和此错误: range error:object . tostring处超出了最大调用堆栈大小 同样,当我刷新页面时,github pages返

  • 当我添加<代码>时 我得到错误 超过了最大调用堆栈大小 当然,如果我注释掉

  • 当我为图表(react-chartjs-2)获取数据时,我收到了这个错误。我实现了try/catch块,但不知道如何删除这个错误。在Edge浏览器上,我得到了CRIPT28:SCRIPT28:堆栈空间不足 这是我在组件中调用的操作。 这是连接到redux存储的组件。它在我看来一切都很好。

  • 当我运行代码时,Node。js抛出由过多递归调用引起的异常。我试图增加Node。js-stack-size-by,但是node。js崩溃,没有任何错误消息。当我在没有sudo的情况下再次运行时,请选择Node。js打印。有没有可能在不删除递归调用的情况下解决这个问题?