2
在React Hooks中卸载组件上的清理内存泄漏
我是使用React的新手,所以这可能真的很容易实现,但是即使我做了一些研究,也无法自己解决。如果这太蠢了,请原谅我。 语境 我使用Inertia.js与Laravel(后端)和响应(前端)适配器。如果您不知道惯性,则基本上是: Inertia.js使您可以使用经典的服务器端路由和控制器快速构建现代的单页React,Vue和Svelte应用程序。 问题 我正在做一个简单的登录页面,其表单具有提交时将执行POST请求以加载下一页的形式。似乎工作正常,但在其他页面上,控制台显示以下警告: 警告:无法在已卸载的组件上执行React状态更新。这是空操作,但它表明应用程序中发生内存泄漏。要修复,请取消使用useEffect清理功能中的所有订阅和异步任务。 登录(由Inertia创建) 相关代码(为了避免不相关的行,我对其进行了简化): import React, { useEffect, useState } from 'react' import Layout from "../../Layouts/Auth"; {/** other imports */} const login = (props) => { const { errors } = usePage(); const [values, setValues] = useState({email: '', password: '',}); const [loading, setLoading] = useState(false); …