برنامه نویسی

یک وبلاگ با Supabase و Next.js – قسمت 4 – SSR ایجاد کنید

اگر می خواهید مستقیماً به کد منبع بروید، در اینجا پیوند به مخزن github است.

یکی از کارهایی که ما هنوز انجام نداده ایم رندر سمت سرور است. ما در حال حاضر در حال واکشی پست ها با استفاده از useEffect قلاب. این بدان معناست که تا زمانی که کامپوننت نصب نشود، پست‌ها در دسترس نخواهند بود. ما می توانیم با استفاده از getStaticProps از nextjs برای واکشی پست ها روی سرور استفاده کنید.

بیایید استفاده کنیم /posts/[id] صفحه برای انجام این کار.

export const getServerSideProps = async (ctx: GetServerSidePropsContext) => {
  const supabase = createServerSupabaseClient(ctx); // from '@supabase/auth-helpers-nextjs';
  const { data } = await supabase
    .from('posts')
    .select('*')
    .eq('id', ctx.params?.id)
    .single();

  if (!data) {
    // if the post doesn't exist, return 404
    return {
      notFound: true,
    };
  }

  // return the post a prop
  return {
    props: {
      post: data,
    },
  };
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با استفاده از getServerSideProps، اکنون می توانیم پست را روی سرور واکشی کنیم و آن را به عنوان یک پایه به کامپوننت ارسال کنیم. ما PostPage جزء در حال حاضر وجود دارد post بنابراین ما فقط می توانیم از آن استفاده کنیم (بخش 2 را ببینید).

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا