reactjs - React Native:干净的UseEffect
问题描述
我面临这个问题
警告:无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请在 useEffect 清理函数中取消所有订阅和异步任务。
useEffect(() => {
firebase.auth().onAuthStateChanged((user) => {
if (user !== null) {
return firebase
.firestore()
.collection("users")
.doc(user.uid)
.get()
.then((documentSnapshot) => {
if (documentSnapshot.exists) {
setUserData(documentSnapshot.data());
setisloadingComplet(true);
}
});
}
});
}, []);
每当用户更新他的信息时。在我刷新应用程序之前它不会立即更新。它向我抛出了上面的警告
解决方案
感谢你们 。我解决了这个问题。问题是我从个人资料和主屏幕获取数据。我所做的是删除从配置文件屏幕获取数据。相反,我仅从主屏幕获取用户数据,然后通过导航将其传递到配置文件屏幕。
推荐阅读
- sql - 获取SQL中两个日期之间的天数
- sql - HIVE 数据透视和总和/计数
- ruby-on-rails - 使用 Ruby on Rails 从数据库中获取图像文件并显示到 Rails 网站
- javascript - 我有一个通过数组运行的 API,我想在每个数组元素上向客户端发送数据
- c - 在 macos 上为 PHP-7.4 编译 firebird 驱动程序的问题
- saucelabs - 无法启动与代理的酱汁连接 - 下一个 InitializeSecurityContext 失败:SEC_E_UNTRUSTED_ROOT
- python - scrapy 如何用三列插入一项
- sql - 使用 .NET Npgsql 在 PostgreSQL 中进行非嵌套和批量插入
- node.js - MERN Stack 管理面板多个 API 调用
- excel - 将印地语 PDF 转换为 Excel