Skip to content

页面卡主不动的主要原因

问题解决方案
useEffect 导致无限跳转确保 useEffect 依赖正确,并加 replace: true
render 期间调用 navigate只能在 useEffect事件处理函数 里调用
useNavigate 依赖 state,导致重复执行useEffect 监听 state
React.StrictMode 导致 navigate 触发两次调试时去掉 StrictMode
useNavigateRouter 外部使用确保 BrowserRouter 包裹 App
目标路由不存在检查 routes 是否包含跳转路径

你可以检查你的代码,看是不是出现了这些问题!

如果以上这些问题都没有,那么就换个浏览器,看是否有问题,如果没有,那么说明应该不是我们的问题而是浏览器的问题!

不要死磕这个东西,大多数情况都没有问题!

有可能强制刷新有用,因为有可能之前是错的,现在改了代码对了但是浏览器保存缓存了,或者需要强制刷新才行

最后找了半天还是不知道问题在哪里

还可能是 form 里面的 button 事件冒泡了,然后导致外面的 form 的 submit 事件被意外触发了!

总之还是很奇怪的!

代码基本都没有问题,但是就是没办法找出来卡死的原因!控制台也不报错,页面 f12 也出不来,页面完全卡死!

我们发现把所有的页面路由什么逻辑都注释掉还是会卡住,甚至点击 forget password 都会导致页面卡住!所以问题大概率出现在 LoginForm 这个组件里面,但是不知道为啥