【发布时间】:2021-11-14 17:16:10
【问题描述】:
我是本机反应的新手,并且正在关注有关如何与 firebase auth 连接的媒体教程。一切似乎都正常,但我不断收到以下警告:
警告:无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请在 useEffect 清理函数中取消所有订阅和异步任务。
我几乎完全按照教程中所说的做了,并尝试了其他一些方法来修复它,但似乎没有任何效果。这是它指向错误的代码:
let currentUserUID = firebase.auth().currentUser.uid;
const [firstName, setFirstName] = useState('');
useEffect(() => {
getUserInfo();
})
async function getUserInfo(){
try {
let doc = await firebase
.firestore()
.collection('users')
.doc(currentUserUID)
.get();
if (!doc.exists){
Alert.alert('No user data found!')
} else {
let dataObj = doc.data();
setFirstName(dataObj.firstName)
}
} catch (err){
Alert.alert('There is an error.', err.message)
}
}
如果有人能帮我解决这个问题并解释到底出了什么问题,那就太好了。
这是我正在学习的教程的link:
【问题讨论】:
标签: reactjs firebase react-native expo use-effect