بعضی مواقع نیاز هست که یه سری تغییرات رو به صورت سراسری درون پروژه اعمال کنیم. Nextjs برای این کار دو کامپوننت رو تعیین کرده تا ما بتونیم با ایجاد تغییرات درون اونا، تغییرات سراسری مد نظرمون رو اعمال کنیم:
این کامپوننت در برگیرنده تمام برنامه هست و اگه تغییری درونش ایجاد کنیم، در تمام برنامه ایجاد میشه. ساختار این کامپوننت به صورت یک HOC هست که تمام اطلاعات برنامه رو در قالب props دریافت می کنه و درون یک کامپوننت بر می گردونه. در قسمت بعد از این کامپوننت استفاده می کنیم.
با این کامپوننت می تونیم ساختار DOM پیشفرض برنامه رو ویرایش کنیم. برای استفاده کافیه که در /pages فایل document.js_ رو به این شکل ایجاد کنید:
این کامپوننت کاربردهای خیلی زیادی داره اما برای پیچیده نشدن کار، در اینجا من فقط خصوصیت lang برنامه رو به fa تغییر دادم
دقت کنید که نام این کامپوننت ها دقیقا باید به همین صورت نوشته بشوند و فقط درون مسیر /pages قرار بگیرند تا عمل کنند
روش مدیریت استیت Context API درون این دو کامپوننت کار نمی کنه. یعنی نمی تونیم به اطلاعات کانتسکت مون داخل این دو فایل دسترسی داشته باشیم.