【发布时间】:2017-03-09 20:35:07
【问题描述】:
我正在学习通过 reactJS 使用 Firebase。我正在尝试更新我的 firebaseList 状态以匹配 Firebase 数据库。
...
const dbRef = firebase.initializeApp(config).database().ref().child('text');
class App extends Component {
constructor(){
super();
this.state = {
text: "",
firebaseList: {}
}
}
componentDidMount(){
dbRef.on('value', snap => {
console.log(snap.val());
this.setState({
firebaseList: snap.val()
});
console.log('firebaseList: ', this.state.firebaseList);
});
}
...
当我在推送一个新字符串"This is a test!" 后进入 chrome 控制台时,会显示:
Object {-KeoiS8luCsuKhzc_Eut: "asdf", -Keol-2Si05dmkmuac8l: "This is a test!"}
firebaseList: Object {-KeoiS8luCsuKhzc_Eut: "asdf"}
为什么我的firebaseList 状态落后一个元素?为什么snap.val() 有两个键值对,而firebaseList 只有一个键值对?
【问题讨论】:
标签: reactjs firebase firebase-realtime-database