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

كيفية إضافة routes مع parameters في React - Gatsby؟

Adam Ebrahim

السؤال

أريد أن أقوم بعمل 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...