我有一个应用程序,其中包含使用getStaticProps从Realtime Firebase数据库中获取的减价帖子和评论。
首先,我得到了所有的路径:
export async function getStaticPaths() {
const files = readdirSync('posts')
const paths = files.map(fileName => ({
params: {
postname: fileName.replace('.md', '')
}
}))
return {
paths,
fallback: false
}
}
然后,我显然会得到降价数据沿着评论本身的快照:
export async function getStaticProps({ params: { postname } }) {
const fileName = readFileSync(`posts/${postname}.md`, 'utf-8')
const { data: frontmatter, content } = matter(fileName)
const snapshot = await retrieveComments(postname).then(snapshot => {
return { props: { snapshot } }
})
const slug = postname
return {
props: {
frontmatter,
content,
snapshot,
slug
}
}
}
在获取减价数据时,一切都很正常,但是如果我向Realtime数据库添加评论并更新页面,评论列表就不会在UI中更新。当我使用getServerSideProps
时,一切都很正常。请记住,我们不能同时使用getStatic...
和getServerSide...
。我该怎么办?此外,评论列表从未更新的问题只出现在生产中。AND THE PROBLEM IS A HUNDRED PERCENT NOT IN THE CRUD OPERATIONS WITH THE DATABASE
1条答案
按热度按时间lrl1mhuk1#
页面是静态生成的,因此它只会在下一次生成时显示更新的结果。假设您正在从服务器获取更新的数据,则可以在有人发表评论时使用按需重新验证: