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

السؤال

نشر

أريد أن أقوم بعمل route يحمل متغير خاص كالتالي:

/users/<userID>

في react router نقوم في العادة بإستخدام طريقة النقطتين كالتالي:

<Route exact path='/users/:userid' component={user} /> 

قمت بالإطلاع على موقع Gatsby الرسمي للقراءة حول Client only routes لكن لم أفهم كيف أقوم بعمل متغير يقبل أي قيمة بدون إعداد صفحة مخصصة لكل مستخدم يدويًا

Recommended Posts

  • 0
نشر

غرض تمرير بيانات في المسار هو لجعل الصفحة تظهر بشكل ديناميكي غير ثابت , ولفعل هذا في مكتبة gatspy ستحتاج الواجهة createPage لبناء أي صفحات ديناميكية و متغيرة (مثل صفحات البروفايل أو صفحة المنتج أو المقالة و غيرها) , في حين أن كل الصفحات الثابتة تبنى و تصدر بطريقة عادية بداخل src/pages . 

مثال عملي : 

بداخل ملف gatsby-node.js نقوم بتصدير الثابت createPages على هذا النحو : 

export const createPages = ({ actions }) => {
  const { createPage } = actions;

  createPage({
    // تعريف المسار
    path: '/users/YOURID',
    
    // تعريف المكون المعاد في المسار
    component: YourRelatedComponent,

    // إرسال بيانات مخصصة للمكون 
    context: {
      userID: 'YOURID',
    },
    
  });
};

ثم يمكنك الوصول للبيانات الممررة بشكل عادي .  

إقرأ أكثر عن إنشاء و تعديل الصفحات في Gatspy  هنا

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...