Reactjs 超过最大更新深度。当组件重复调用setstateinide(Jwt)Redux时,可能会发生这种情况

Reactjs 超过最大更新深度。当组件重复调用setstateinide(Jwt)Redux时,可能会发生这种情况,reactjs,redux,jwt,Reactjs,Redux,Jwt,编译此代码时,我得到“超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环。” //index.js 从“React”导入React; 从“react dom”导入react dom; 导入“./index.css”; 从“./App”导入应用程序; 将*作为serviceWorker从“/serviceWorker”导入; 从“./helpers”导入

编译此代码时,我得到“超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量以防止无限循环。”

//index.js

从“React”导入React;
从“react dom”导入react dom;
导入“./index.css”;
从“./App”导入应用程序;
将*作为serviceWorker从“/serviceWorker”导入;
从“./helpers”导入{store};
从'react redux'导入{Provider};
从“/helpers”导入{configureFakeBackend};
configureFakeBackend();
ReactDOM.render(
,
document.getElementById('root');

serviceWorker.unregister()老兄,很简单,你有这个代码

<Switch>

                   <PrivateRoute exact path="/" component={Dashboard} />

                   <PrivateRoute path="/boards/:id" component={Board} />
                  <PrivateRoute path="/boards" component={Boards} />
                  <PrivateRoute component={NoMatch} />
                  <Route path="/login" component={LoginPage} />
                </Switch>
我认为有更好的方法使用调度,只是搜索


我希望它有用:D:D:D

伙计,很简单,你有那个代码

<Switch>

                   <PrivateRoute exact path="/" component={Dashboard} />

                   <PrivateRoute path="/boards/:id" component={Board} />
                  <PrivateRoute path="/boards" component={Boards} />
                  <PrivateRoute component={NoMatch} />
                  <Route path="/login" component={LoginPage} />
                </Switch>
我认为有更好的方法使用调度,只是搜索


我希望它有用:D:D:D

好吧,您似乎并没有在您共享的代码中真正调用
this.setState
,因此没有什么真正的建议。你能分享stacktrace吗?您是否根据安全令牌在某处更改位置?您是否有可能创建一个[mvce],以便我们重现错误?@Icepickle我添加了我的项目文件夹链接。您可以查看:)只需在登录时将路由移动到交换机顶部,并将“不匹配”移动到最后一个位置,这样就无需更改您希望对历史记录侦听器执行的任何操作,您仍然可以使用未知路由。好了,您似乎并没有在共享的代码中真正调用
this.setState
,因此,没有什么真正的建议。你能分享stacktrace吗?您是否根据安全令牌在某处更改位置?您是否有可能创建一个[mvce],以便我们重现错误?@Icepickle我添加了我的项目文件夹链接。您可以查看:)只需在登录时将路由移动到交换机顶部,并将“不匹配”移动到最后一个位置,这样就无需更改您希望对历史侦听器执行的任何操作,并且您仍然可以拥有未知路由
                      <PrivateRoute path="blablabla" component={NoMatch} />
constructor(props){
    super(props);
    // history.listen((location, action) => {
    //   // clear alert on location change
    //   dispatch(alertActions.clear());
    // });
  }