Next.js'in Server Side Rendering (SSR) özelliği, her istekte sayfanın HTML'ini oluşturur. Bu, getServerSideProps adlı bir fonksiyonu dışa aktararak yapılır. Ancak, SSR'de yerel API'ye yapılan isteklerde bazen sorunlar yaşanabilir. Bu, genellikle API'nin sunucu tarafında çalıştırıldığından ve bu nedenle istemci tarafında olduğu gibi aynı ortama erişemediğinden kaynaklanır.
Bunun yerine, Next.js'in yeni veri alma sistemini kullanmayı düşünebilirsiniz. Bu sistem, yerel fetch() Web API'si üzerine inşa edilmiştir ve Server Components'te async ve await kullanır. Bu, her istekte kendi önbellekleme ve yeniden doğrulama kurallarını belirlemenize olanak sağlar.
Aşağıdaki örnekte olduğu gibi fetch fonksiyonunu kullanabilirsiniz:
export default async function Page() {
const staticData = await fetch(`<https://...`,> { cache: 'force-cache' })
const dynamicData = await fetch(`<https://...`,> { cache: 'no-store' })
const revalidatedData = await fetch(`<https://...`,> {
next: { revalidate: 10 },
})
return <div>...</div>
}
Kaynak: Next.js Fetch API (https://nextjs.org/docs/app/api-reference/functions/fetch)
Eğer hala sorun yaşıyorsanız, daha fazla yardım için Next.js belgelerine başvurabilirsiniz.
Note: you can ask me a follow up question by @ mentioning me again :speech_balloon: