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

تحقق من أننا في server أو client في 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...