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