typescript - res.revalidate() در NextResponse از Nextjs برای ISR بهصورت درخواستی یک تابع نیست


NextResponse res.revalidate('/') ندارد. من از v12.2.5 استفاده میکنم ولی از v12.2.0 وجود دارد. من میخواهم از ISR بر حسب تقاضا در تایپاسکریپت استفاده کنم.

https://nextjs.org/blog/next-12-2#on-demand-incremental-static-regeneration-stable

export default async function handler(req: NextRequest, res: NextResponse) {
    try {

        await res.revalidate('/');
        return res.json({ revalidated: true });

    } catch (err) {
        console.error(err);
        return res.status(500).send('Error revalidating');
    }
}

پاسخ شماره ۱

به جای NextRequest و NextResponse باید از NextApiRequest و NextApiResponse استفاده کنیم.

export default async function handler(req: NextApiRequest, res: NextApiResponse) {
    try {

        await res.revalidate('/');
        return res.json({ revalidated: true });

    } catch (err) {
        return res.status(500).send('Error revalidating');
    }
}