![](/img/trans.png)
[英]repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops
[英]component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the no. of nested updates to prevent infinite loops
我收到此错误:“超出最大更新深度。当组件在 componentWillUpdate 或 componentDidUpdate 中重复调用 setState 时,可能会发生这种情况。React 限制嵌套更新的数量以防止无限循环。”
调用demoPortalPage 中的history.push("/")时,有时会无限循环并无限次设置路径。
错误截图:错误截图
演示门户页面.jsx
useEffect(() => {
const authenticateDemoUser = async () => {
const authData = {
email: 'demo@gmail.com',
password: '1234',
};
const checkUserAuth = await postRequest("authenticate", authData);
if (checkUserAuth?.status >= 200 && checkUserAuth?.status < 300) {
// sign in success action call
await signInSuccess(checkUserAuth.data);
await getAndSaveUserName();
await setIsUserVerified(true);
// localStorage.setItem('is_demo', "true")
history.push("/");
} else {
await setIsUserVerified(false);
history.push("/");
}
}
authenticateDemoUser()
}, [])
应用程序.jsx
....
<Route exact path={"/login"} render={() => (isUserVerified ? <Redirect to="/" /> : <LoginPage/>)} />
<Route exact path={"/demo-login"} component={DemoPortalPage} />
....
请帮我解决这个错误
它已解决,我想从我的案例角度为您澄清这件事......在我的案例中,它是由于异步序列而发生的...... 在将数据保存在 state 之前。页面重定向到另一个页面,下一页没有获取该数据,。! 根据我的路由代码,如果页面没有特定数据,它会在循环中一次又一次地检查,这就是无限循环错误发生的原因。
谢谢你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.