【发布时间】:2020-10-21 20:19:13
【问题描述】:
我试图阻止用户使用后退按钮,我在react-navigation 文档中找到了解决方案 正如他们所说,我必须使用此代码:
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Login' },
],
})
);
所以我在useEffect 中使用了它,以便在页面加载时应用它。
useEffect(()=>{
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Login' },
],
})
);
},[])
但我收到此错误,应用程序无法正常运行:
警告:已超出最大更新深度。当组件在 useEffect 中调用 setState 时,可能会发生这种情况,但 useEffect 要么没有依赖数组,要么每次渲染时其中一个依赖项都发生了变化。
【问题讨论】:
-
some是什么?您是否正在登录屏幕尝试重置为登录屏幕? -
啊,这没什么,我尝试使用钩子而不是空的 [ ] 来希望防止重新渲染 :))。但编辑了。我需要防止用户在登录页面上按下返回按钮。
-
这个useEffect在登录页面吗?
-
是的,它在登录页面内
标签: react-navigation react-native react-hooks react-navigation