ابـراهــیم
ابـراهــیم
خواندن ۱ دقیقه·۲ سال پیش

16) نحوه استفاده از SSR در Nextjs

نحوه استفاده از SSR در Nextjs
نحوه استفاده از SSR در Nextjs


تا این جای کار ما از SSG برای واکشی داده هامون استفاده کردیم و همه چی به خوبی پیش رفته. اصولا SSR برای صفحاتی که محتواشون دائم در حال تغییره به کار میره و در پروژه ما که اطلاعات به ندرت تغییر می کنه، نیازی به استفاده از SSR نیست اما برای یادگیری چگونگی استفاده ازش، در این قسمت SSR رو در پروژه پیاده سازی می کنیم. برای این کار نیاز به تابع ()getServerSideProps و یک API داریم.



تابع ()getServerSideProps

این تابع برای ساخت هر صفحه، درخواستی به سرور ارسال می کنه و صفحه html با هر درخواست ساخته میشه و برای ما ارسال میشه. قراره با استفاده از این تابع، لیست پست ها رو به صورت SSR نمایش بدیم.

برای این کار، ابتدا تابع ()getStaticProps رو به همراه ماژول هایی که درونش در posts/index.js استفاده شده، تبدیل به کامنت کنید و بعد ()getServerSideProps رو درون posts/index.js به این صورت ایجاد کنید:


در اینجا درخواستی به API endpoint که درس قبل ساختیم فرستادم و آرایه posts رو دریافت کردم. بعد از تبدیل به فرمت json اون رو به صفحه posts پاس دادم. در نتیجه پست ها در مسیر localhost:3000/posts به خوبی نمایش داده میشن:

ظاهر خروجی، هیچ تفاوتی با SSG نداره
ظاهر خروجی، هیچ تفاوتی با SSG نداره


از این تابع می تونیم حتی برای Dynamic Routes هم استفاده کنیم. به عبارتی می تونیم از این تابع برای نمایش محتوای هر پست به جای ()getStaticProps و ()getStaticPaths استفاده کنیم اما برای اینکه آموزش پیچیده نشه، فقط برای نمایش لیست پست ها ازش استفاده کردم.


منبع

API Routes Detail

getServerSideProps

nextjsssrgetserversidepropsنحوه ssr nextjs
ساده بگیر ولی دستِ کم نگیر
شاید از این پست‌ها خوشتان بیاید