Firebase与反应.on听众无法正常工作

时间:2018-01-10 20:47:02

标签: reactjs firebase firebase-realtime-database

我正在使用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
          });
        }
      });
    }
  }

1 个答案:

答案 0 :(得分:1)

我不确定它之前的工作原理,但我需要将项目的firebase控制台中的.read规则更改为true

旧规则:

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

新规则:

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