Javascript 为什么在使用Firebase删除同名数据后无法重新添加该数据?

Javascript 为什么在使用Firebase删除同名数据后无法重新添加该数据?,javascript,database,reactjs,firebase,firebase-realtime-database,Javascript,Database,Reactjs,Firebase,Firebase Realtime Database,在我的应用程序中,用户可以添加心爱的人,如下所示: addLovedOne(event) { const { lovedOne, } = this.state; const unsubscribe = firebase.auth().onAuthStateChanged((user) => { if (user) { db.addLovedOne(user.uid, lovedOne) .then((

在我的应用程序中,用户可以添加心爱的人,如下所示:

  addLovedOne(event) {
    const {
      lovedOne,
    } = this.state;

    const unsubscribe = firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        db.addLovedOne(user.uid, lovedOne)
          .then(() => {
            this.setState({ lovedOne: '' });
            this.refreshLovedOnes();
          })
          .catch(error => {
            this.setState(byPropKey('error', error));
          });
      } else {
        unsubscribe();
      }
    });

    event.preventDefault();
  }
  removeLovedOne(event) {
    const lovedOne = event.target.id;

    const unsubscribe = firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        const ref = firebase.database().ref(`users/${user.uid}/lovedOnes`);
        const removeLovedOne = ref.orderByChild('lovedOne').equalTo(lovedOne);

        removeLovedOne.on('value', (snapshot) => {
          const lovedOneId = snapshot.node_.children_.root_.key;

          db.removeLovedOne(user.uid, lovedOneId, lovedOne)
            .then(() => {
              this.refreshLovedOnes();
            })
            .catch(error => {
              this.setState(byPropKey('error', error));
            });
        });
      } else {
        unsubscribe();
      }
    });
  }
当然,用户可以删除所爱的人,如下所示:

  addLovedOne(event) {
    const {
      lovedOne,
    } = this.state;

    const unsubscribe = firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        db.addLovedOne(user.uid, lovedOne)
          .then(() => {
            this.setState({ lovedOne: '' });
            this.refreshLovedOnes();
          })
          .catch(error => {
            this.setState(byPropKey('error', error));
          });
      } else {
        unsubscribe();
      }
    });

    event.preventDefault();
  }
  removeLovedOne(event) {
    const lovedOne = event.target.id;

    const unsubscribe = firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        const ref = firebase.database().ref(`users/${user.uid}/lovedOnes`);
        const removeLovedOne = ref.orderByChild('lovedOne').equalTo(lovedOne);

        removeLovedOne.on('value', (snapshot) => {
          const lovedOneId = snapshot.node_.children_.root_.key;

          db.removeLovedOne(user.uid, lovedOneId, lovedOne)
            .then(() => {
              this.refreshLovedOnes();
            })
            .catch(error => {
              this.setState(byPropKey('error', error));
            });
        });
      } else {
        unsubscribe();
      }
    });
  }
以下是查询的内容:

export const addLovedOne = (userId, lovedOne) => (
  db.ref(`users/${userId}/lovedOnes`).push({
    lovedOne,
  })
);

export const removeLovedOne = (userId, lovedOneKey) => (
  db.ref(`users/${userId}/lovedOnes/${lovedOneKey}/lovedOne`).remove()
);
以下是我的模式的外观:

你知道为什么在删除一个同名的爱人后,我不能在不刷新页面的情况下添加它吗