«Предупреждение: невозможно вызвать setState (или forceUpdate) для не смонтированного компонента» после обновления базы данных Firebase - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь обновить некоторые данные в моей базе данных Firebase при отправке формы, но когда я нажимаю кнопку Отправить, я получаю следующее предупреждение:

Предупреждение. Невозможно вызвать setState (или forceUpdate) на отключенном компьютере. составная часть. Это не работает, но это указывает на утечку памяти в вашем приложение. Чтобы исправить, отмените все подписки и асинхронные задачи в методе componentWillUnmount.

Ниже приведен код, который выполняется при отправке. Если я удалю код обновления, предупреждение исчезнет, ​​но мне нужно сохранить данные, как я могу это исправить?

handleRewardFormSubmit = event => {
        event.preventDefault();

        const self = this;
        let points = 0;
        const memberId = this.state.selectedMember;
        const groupID = this.state.groupid;
        const selectedPoints = Number(this.state.selectedPoints);
        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 + selectedPoints;

          // No warning if i remove this
          memberRef.update({
            points: points
          });

          // No warning if i remove this too
          groupRef.update({
            points: points
          });

        });
      };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...