【发布时间】:2017-01-19 01:45:13
【问题描述】:
我遵循了这个 https://www.youtube.com/watch?v=p4XTMvagQ2Q 关于 Firebase 和 React 的介绍性教程。我试图更进一步,但我已经被困了一段时间。基本上,我想从 firebase 节点检索子列表并将其呈现为列表/表。目前,只有最后一个孩子被渲染,因为其他所有孩子都被覆盖了。
import React, { Component } from 'react';
import './App.css';
class App extends Component {
constructor(){
super();
this.state = {
id : 0,
latitude : 0,
longitude : 0
};
}
componentDidMount(){
const rootRef = firebase.database().ref().child('drivers');
rootRef.on('child_added', snap => {
console.log(snap.key);
this.setState({
id : snap.key,
latitude : snap.val().lat,
longitude : snap.val().lon
});
});
}
render() {
return (
<div className="App">
<h1>{this.state.id}</h1>
<h1>{this.state.latitude}</h1>
<h1>{this.state.longitude}</h1>
</div>
);
}
}
export default App;
如何更新渲染函数以显示整个列表?
【问题讨论】:
-
嗯,首先您必须将数据保存到某个地方,因为您无法呈现您没有的数据。因此,将其保存在相应的数据结构(即对象数组)中,并在数组上循环以呈现所有对象。你肯定可以在网上找到很多例子。
-
使用 'value' 事件而不是 child_added
标签: reactjs firebase-realtime-database