【发布时间】:2021-09-25 22:35:10
【问题描述】:
我正在从 firebase 获取一些数据并更新状态,但在页面加载时表格没有更新。无论如何,如果我对文件进行一些更改并保存它,表格就会更新。
代码-
const [leaderdata, setdata] = useState({});
const database = firebase.database().ref();
useEffect(() => {
var x = 0;
//getting the data from firebase and storing it in a state
database.orderByChild("ques_fund").once("child_added", (snapshot) => {
var temp = leaderdata;
temp[x] = snapshot.val();
setdata(temp);
x = x + 1;
});
console.log(leaderdata);
}, []);
return (
<div>
<table>
<thead>
<tr>
<th>Rank</th>
<th>Participant Name</th>
<th>Score</th>
</tr>
</thead>
<tbody>
{leaderdata ? (
Object.values(leaderdata).map((row, index) => {
console.log("hi");
return (
<tr key={row.timestamp}>
<td>{index}</td>
<td>{row.name}</td>
<td>{row.ques_fund}</td>
</tr>
);
})
) : (
<h1>No data</h1>
)}
</tbody>
</table>
</div>
);
useEffect(即leaderdata)末尾的console.log给出-> log at the end of use Effect
【问题讨论】:
-
能否请
console.log(leaderdata)在你的useEffect结束时分享输出? -
嘿@Dharmaraj 我编辑了问题
标签: reactjs firebase firebase-realtime-database state react-table