每当我向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();
}