javascript - 将数据保存到 Firebase 后,React 给我一个警告
问题描述
每当我将数据添加到我的 firebase 数据库时,我都会收到以下警告,我该如何解决?
警告:无法在未安装的组件上调用 setState(或 forceUpdate)。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请取消 componentWillUnmount 方法中的所有订阅和异步任务。在组中(在 App.js:62)
提交时将数据保存到firebase的代码:
handleURLFormSubmit = event => {
event.preventDefault();
this.toggleRewardModal();
const self = this;
let points = 0;
const memberId = this.state.selectedMember;
const groupID = this.state.groupid;
const link = this.state.enteredURL;
const postRef = database.ref("posts");
const memberRef = database
.ref("members")
.child(memberId)
.child("groups")
.child(groupID);
const groupRef = database
.ref("groups")
.child(groupID)
.child("members")
.child(memberId);
memberRef
.once("value", function(snapshot) {
points = snapshot.val().points + 10;
})
.then(function() {
memberRef.update({
points: points
});
groupRef.update({
points: points
});
postRef.push({
link: link,
member: memberId,
group: groupID
});
self.getGroupMembers();
});
};
componentWillUnmount() {
database.ref("groups").off();
database.ref("members").off();
}
解决方案
推荐阅读
- javascript - Vuejs 组件没有响应“mouseleave”事件
- jsf - p:dialog 未隐藏在 html 中并直接呈现在页面上
- python - models.py 中的类型错误 - 'str' 对象不可调用
- python - UnicodeDecodeError:“charmap”编解码器无法解码位置 7736 中的字节 0x98:字符映射到
- excel - VBA 数据透视表运行时错误 5 无效的过程调用或参数
- typo3 - $this->configurationManager->getContentObject()->data 返回空数组typo3
- javascript - Vuejs 事件 v-on:scroll.passive 不起作用?
- bash - sed 更改特定字符串的奇怪行为
- ios - “弹出”视图动画
- ios - 对连接和断开连接到播放设备的音频做出反应