将数据保存到Firebase后,React会向我发出警告

时间:2018-06-13 16:30:29

标签: javascript reactjs

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

0 个答案:

没有答案