停止Nextjs 13缓存Firebase结果/调用[重复]

ruarlubt  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(144)
    • 此问题已在此处有答案**:

How to avoid caching in the app directory of Next.js?(1个答案)
2天前关闭。
我有这个API路由:
app/api/notes/route.js

import db from "@/utils/firebaseDB"
import { collection, getDocs } from "firebase/firestore";

export const GET = async (request) => {
    let posts = []

    try {
        const querySnapshot = await getDocs(collection(db, "Notes"));
        querySnapshot.docs.map((doc) => {
            const postData = { ...doc.data(), id: doc.id };
            posts.push(postData);
        });

        return new Response(JSON.stringify(posts), { status: 200 })
    } catch (error) {
        return new Response("Failed to fetch all data", { status: 500 })
    }
}

构建项目后,结果将变为静态或缓存。所以,我需要一种方法在一定时间后强制revalidate
使用fetch的解决方案是使用fetch('https://...', { next: { revalidate: 60 } });,但对于getDocs,我不知道。
谢谢你

xesrikrc

xesrikrc1#

通过添加export const revalidate = 60;,我已经解决了这个问题。

**更多信息:**https:nextjs.org/docs/app/building-your-application/data-fetching/revalidating#background-revalidation

相关问题