Я пытаюсь обновить некоторые данные в моей базе данных 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
});
});
};