Rumah >hujung hadapan web >tutorial js >Mengapa Titik Akhir API Next.js Saya Tidak Dikemas Kini Selepas Penggunaan?
Next.js API Endpoints Tidak Mengemas kini Selepas Deployment
Masalah: Data yang diambil daripada pangkalan data melalui titik akhir API kekal statik selepas penggunaan projek.
Analisis: Isu ini mungkin berpunca daripada caching. Dalam Next.js, laluan API dan Komponen Pelayan telah mendayakan cache secara lalai untuk pengoptimuman prestasi. Caching ini boleh mengganggu kemas kini data.
Penyelesaian:
Untuk mengelakkan caching dan memastikan kemas kini data dinamik, laraskan gelagat caching seperti berikut:
Menggunakan fetch():
Tambahkan pilihan pengesahan semula pada permintaan fetch() untuk menentukan selang pengesahan semula dalam beberapa saat:
fetch('https://...', { next: { revalidate: 10 } });
Sebagai alternatif, tetapkan pilihan cache kepada no-store untuk melumpuhkan caching:
fetch('https://...', { cache: 'no-store' });
Menggunakan Konfigurasi Segmen Laluan:
Dalam fail layout.js, page.js atau route.js, tambahkan kod berikut untuk melumpuhkan cache bagi segmen laluan tertentu:
import prisma from './lib/prisma'; export const dynamic = 'force-dynamic'; async function getPosts() { const posts = await prisma.post.findMany(); return posts; } export default async function Page() { const posts = await getPosts(); // ... }
Dengan mengikuti langkah-langkah ini, anda boleh melumpuhkan caching untuk titik akhir API dan memastikan kemas kini data ditunjukkan dengan segera selepas penggunaan.
Atas ialah kandungan terperinci Mengapa Titik Akhir API Next.js Saya Tidak Dikemas Kini Selepas Penggunaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!