اذهب إلى المحتوى
  • 0

تحقق من أننا في server أو client في nextjs

السؤال

نشر

كيف يمكننا التحقق من أننا في server أو client في مكون و أيضا داخل get StaticProps في nextjs ؟

Recommended Posts

  • 0
نشر

يمكنك التحقق انك في server باستخدام الأمر الآتي

if (typeof window === 'undefined') {
}

وبالمثل اذا كنت في client باستخدام الأمر الآتي

if (typeof window !== 'undefined') {
}

 

  • 0
نشر

يمكنك تفحص إذا كان كائن الطلب موجود فإذن انت في جانب الخادم server-side اما إذا لم يكن موجود فانت في جانب العميل client-side كما هو موضح في الكود

async getInitialProps (appContext) {

    if (appContext.ctx.req) // server? 
    {
        // جانب الخادم
    }
    else {
        // جانب العميل
    }
}

 

  • 0
نشر

يمكن تجميع الأكواد التي نرغي أن تعمل في المخدم ضمن الدالة التالية getServerSideProps:

const MyPage = () => {
  useEffect(() => {
    // جزء العميل
  }, [])

  return (
    <div> ... </div>
  )
}

MyPage.getServerSideProps = async () => {
  // جزء المحدم
}

أي بعد تعريف الصفحة، نكتب شيفرة المخدم في جزء غير متزامن ونسنده للدالة getServerSideProps

هذه الخاصية تعمل في الإصدارات الحديثة Next 9.3(Mar 2020)

  • 0
نشر

يمكنك أيضاً استخدام الإضافة is-next-server الخاصة بال next وببساطة يتم استخدامها كالتالي

const isServer = require("is-next-server");

export default () => (
  if (isServer) {
    // الخادم
  } else {
    // المتصفح
  }
)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...