Firebase with react .on listener 不起作用



我正在使用Firebase,出于某种原因,这刚刚起作用,但现在不是了。我在输入上有一个onChange事件,该事件工作正常,但由于某种原因,Firebase .on()方法对我不起作用。

这是我所拥有的:

updateUsername(event) {
    this.setState({
      [event.target.name]: event.target.value
    });
    const usernameRef = fire.database().ref('usernames');
    if (event.target.value) {
      usernameRef.child(event.target.value).on('value', snap => {
        console.log(snap.val()); // returns nothing
        if (snap.val() != null) {
          this.setState({
            disabled: true
          });
        } else if (snap.val() == null) {
          this.setState({
            disabled: false
          });
        }
      });
    }
  }

我不确定为什么它更早地工作,但我需要将项目的 Firebase 控制台内的.read规则更改为true

旧规则:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

新规则:

{
  "rules": {
    ".read": true,
    ".write": "auth != null"
  }
}

最新更新