Next.js 13服务器组件不刷新数据

vsnjm48y  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(117)

Next.js 13.4.6中的服务器组件有问题
所有的时间,当我加载页面,旧的数据从FIRST提取显示。如果我刷新页面,新数据被加载,但它不保存(如您在视频中看到的)。下面我粘贴代码。这里能出什么问题?
Showcase video

async function getData() {
    const res = await fetch(process.env.NEXT_PUBLIC_PRODUCTS_API_URL, { next: { cache: 'no-store' } })

    if (!res.ok) {
        throw new Error()
    }

    return res.json()
}

export default async function Offers() {
    let data;

    try {
        data = await getData()
    } catch (error) {
        return <span>{error.message}</span>
    }

    if (data.length === 0) return <span>No available offers</span>

    console.log(data.length)

    return <>
        <span className="text-zinc-500">Found {data.length} offers</span>
        <div><pre>{JSON.stringify(data, null, 2)}</pre></div>
    </>
}

我尝试在fetch选项中使用不存储缓存选项(正如你在代码中看到的),但它没有工作。

2exbekwf

2exbekwf1#

该高速缓存选项不是next的子项,它应该像下面那样引用。希望这应该解决你的问题!🤞

const staticData = await fetch(`https://...`, { cache: 'force-cache' })

参考:https://nextjs.org/docs/app/api-reference/functions/fetch

相关问题