我试图创建一个HTML表格,可以随着我的用户使用我的应用程序实时更新Firebase。我真的很努力让这个工作,我真的不知道从哪里开始。如何使用Firebase创建动态HTML表格?
基本上,所有需要做的就是创建一个新的表格行,并在用户与我的应用程序进行交互时实时更新其单元格。
有谁知道任何好的教程,可以指出我在正确的方向吗?创建HTML表格的代码示例也很棒!谢谢。
更新: 行!感谢Isaiah Lee,我出去找了一些React的教程。我90%在那里,但有一个问题,我似乎无法弄清楚...
我能够更新我的表与新行动态作为用户使用我的应用程序,但我不能让他们填满数据。我觉得我真的很接近,但我的经验不足与之反应是抱着我回到这里......
出于某种原因,这个循环在这里不与任何数据填充TD的
render() {
return (
<div className="App">
<h1>Talkeetna Numbers</h1>
<table id="numbers">
<tbody>
<tr>
<th>Driver</th>
<th>Coach</th>
<th>Time</th>
<th>Total People</th>
<th>AM Train</th>
<th>PM Train</th>
<th>MEX</th>
<th>Employees</th>
<th>Seats Left</th>
</tr>
{this.state.rows.map(row =>
<tr>
<td>{this.state.driver}</td>
<td>{this.state.coach}</td>
<td>{this.state.time}</td>
<td>{this.state.totalPeople}</td>
<td>{this.state.amTrain}</td>
<td>{this.state.pmTrain}</td>
<td>{this.state.THEMEX}</td>
<td>{this.state.Employees}</td>
<td>{this.state.seatsLeft}</td>
</tr>)}
</tbody>
</table>
</div>
);
}
我的继承人组件功能
componentDidMount()
{
const logsRef = firebase.database().ref('logs');
logsRef.on('child_added', snap => {
this.addRow(snap.getKey());
//rows.push(snap.getKey());
console.log("adding key: ", snap.getKey());
});
console.log("loading rows...");
for(var rowKey = 0; rowKey < this.state.rows.length; rowKey++)
{
const root = firebase.database().ref().child('logs/' + rowKey);
const driverRef = root.child('Driver');
const coachRef = root.child('Coach');
const timeRef = root.child('Time');
const totalPeopleRef = root.child('Total People');
const AMTrainRef = root.child('AM Train');
const PMTrainRef = root.child('PM Train');
const MEXRef = root.child('MEX');
const EmployeesRef = root.child('Employees');
const seatsLeftRef = root.child('Seats Left');
//sync with DB in real time
driverRef.on('value', snap => {
this.setState({
driver: snap.val()
})
});
coachRef.on('value', snap => {
this.setState({
coach: snap.val()
})
});
timeRef.on('value', snap => {
this.setState({
time: snap.val()
})
});
totalPeopleRef.on('value', snap => {
this.setState({
totalPeople: snap.val()
})
});
AMTrainRef.on('value', snap => {
this.setState({
amTrain: snap.val()
})
});
PMTrainRef.on('value', snap => {
this.setState({
pmTrain: snap.val()
})
});
MEXRef.on('value', snap => {
this.setState({
THEMEX: snap.val()
})
});
EmployeesRef.on('value', snap => {
this.setState({
Employees: snap.val()
})
});
seatsLeftRef.on('value', snap => {
this.setState({
seatsLeft: snap.val()
})
});
}
}
如果你问如何创建html表格,你不应该把firebase作为你的年龄,因为它们是完全不同的东西。如果您想知道如何从Firebase读取数据,请从入门指南开始,当您遇到代码时,请发布代码和Firebase结构,然后我们来看看。 – Jay
嘿Jay,我添加了一些反应代码,你可以看看它吗?谢谢! –