Search code examples
next.jsvercelreact-server-components

Force server render for every request in NextJS on Vercel?


I'm calling an API server side with Next 13 deployed to Vercel. Im using a vender library which means Vercel doesn't see a fetch is happening and generates a static page.

How can I make the page be server rendered on every request?

import { createClient, groq } from "next-sanity";

const client = createClient({
  projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID,
  dataset: process.env.NEXT_PUBLIC_SANITY_DATASET,
  apiVersion: process.env.NEXT_PUBLIC_SANITY_API_V,
  useCdn: false,
})

export default async function Home() {
  const res = await client.fetch(groq`*[_type == "homes"] {
    _id,
    name
  }`);
  return (
    <main>
      <div className={"text-xs whitespace-pre"}>
        {JSON.stringify(res, null, 2)}
      </div>
    </main>
  );
}

Solution

  • Just add this to the page component:

    export const dynamic = "force-dynamic";