reactjs - 如何使用 React 显示来自 firebase 单个文档的数据?
问题描述
在此之前,我正在使用 Snapshot 并尝试对其进行映射。但是对于单个文档它失败了。在我从 firebase 读回文档后。他们建议对单个文档使用这种方式。但我不知道如何使它在网站上而不是控制台上可读。我想发送有关标题和论文的数据。
const { id } = useParams()
useEffect(() => {
db.collection("posts").doc(id).get().then(doc => {
const newData = doc.data();
console.log(newData);
});
}, []);
return (
<div className="log">
<article className="log-details">
<div className="author-pic clearfix">
<img src={profile} alt="" />
</div>
<div className="log-preview">
<div class="cover"></div>
<h2 className="title clearfix">title here</h2>
<div className="details ">
<img src={One} alt="" />
<p className="essay">essay here</p>
</div>
</div>
</article>
</div>
)
解决方案
要显示帖子数据,请使用 useState 并将 postData 设置为setPostData(newData)
. 然后,您可以在 return 语句中使用{postData.title}
和读取 postData 值。{postData.essay}
不要忘记使用import React, { useState, useEffect } from "react"
.
const { id } = useParams()
const [postData, setPostData] = useState("");
useEffect(() => {
db.collection("posts").doc(id).get().then(doc => {
const newData = doc.data();
setPostData(newData);
console.log(newData);
});
}, []);
return (
<div className="log">
<article className="log-details">
<div className="author-pic clearfix">
<img src={profile} alt="" />
</div>
<div className="log-preview">
<div class="cover"></div>
<h2 className="title clearfix">{postData && postData.title}</h2>
<div className="details ">
<img src={One} alt="" />
<p className="essay">{postData && postData.essay}</p>
</div>
</div>
</article>
</div>
)
推荐阅读
- elasticsearch - 弹性搜索。按当月搜索数据
- java - Java Color constructor casts long to float
- java - 在模式匹配中排除数字
- excel - Excel VBA:使用用户窗体选择要运行的宏
- java - Java Scanner 出现在 print() 之前
- python - 带有子文件夹的 Django 视图定义在第二次未正确呈现
- fitnesse - 什么决定了fitSharp runner 域名?
- visual-studio-code - 添加了订阅的功能“supportResettableProperties”,但未设置可重置属性
- bash - 从while循环读取文件没有得到第一行
- c# - 客户端评估 efcore 后无法处理集合操作