routing in nextjs

پرسیده شده
فعالیت 1041 روز پیش
دیده شده 528 بار
0

سلام خسته نباشید

ببخشید توی nextjs چجور میتونم یه بخشی از صفحه مثل header رو ثابت نگه دارم و بقیه content هارو تغییر بدم(با عوض شدن route)

فایل پیوست

ali memar
ali memar

4 تیر 00

0
حذف شده

سلام

برای این مورد یکی از روش ها استفاده کردن از کامپوننت App

به عنوان نمونه میشه فایل app.jsـ  به این صورت کد رو اضافه کرد

// Layout component
const Layout = ({ children }) => (
 <div className="layout">
 	<Header />
 	{children}
 </div>
 )



// _app.js
export default function App({ Component, pageProps }) {
  return (
    <Layout>
      <Component {...pageProps} />
    </Layout>
  )
}
فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

4 تیر 00

حذف شده
بله این مورد درسته ولی وقتی این مورد رو استفاده میکنم header برای تمام صفحات اضافه میشه ولی من چندتا صفحه دارم که داخل اونها header داره و بعضی صفحات نداره برای این حالت باید چکار کنم؟
ali memar

5 تیر 00

0
حذف شده

برای اینکه بخوایم layout های متفاوت داشته باشیم با توجه به شرایط میشه استراتژی های متفاوتی داشت!

مثلا میتونی بر اساس route بیایم به صورت conditional چک بکنیم که داخل چه صفحه ای هستیم و متناسب با صفحه بیام و layout مناسب رو قرار بدیم. این روش خوبی که داره کل کد در یک محل قرار میگیره ولی خوب یکمی هم اگر پروژه بزرگ بشه کار سخت میشه!

یک روش دیگه هم این که داخل هر page مشخص بکنیم که از چه layout باید استفاده بکن! که این مورد هم پیاده سازی های متفاوتی میتونه داشته باشه که یک نمونه پیاده سازی رو در این لینک میتونی ببینی. چک بکن اگر باهاش مشکل داشتی بگو تا بیشتر در موردش توضیح بدم! البته این مورد روش های دیگه هم میشه پیاده سازی کرد و این تنها روش نیست

روش های دیگه میشه با توجه به شرایط استفاده کرد

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

8 تیر 00

جلسه suppressHydrationWarning