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

السؤال

نشر

 

هل من الممكن إعادة توجيه المستخدم بطريقة أو بأخرى إلى الصفحة الرئيسية (/) بدلاً من عرض صفحة 404؟ بالطبع لا يمكنني أن أستخدم window.location لإعادة توجيه المستخدم وهذا لأن الكائن window لن يكون معرف عند بناء المشروع، لذلك كنت أفكر في عمل custom hook أو إستعمال useEffect ولكن لا أعرف كيف أقوم بإعادة توجيه المستخدم بعد.

Recommended Posts

  • 0
نشر (معدل)

يمكنك استبدال المسار الأخير (تأكد أنه الأخير دوما) على هذا النحو :

<Route component = {NotFound} /> // هذا 

<Redirect to="/" /> // بهذا 

سيتم تتبع كل المسارات التي تختلف عن المسارات التي هي ما قبل هذا المسار و بدل عرض مكون react سيعاد توجيه المستخدم إلى الصفحة الرئيسية .

و يمكنك عمل ذلك عن طريق مكتبة Gatspy على هذا النحو :

ليكن في العلم أن صفحة 404 المنشئة من طرف المكتبة تكون بـ src/pages/404.jsx أو src/pages/404.js

يمكنك تعديلها على هذا النحو لتقوم بنفس المهمة : 

import React from 'react'
import { navigate } from 'gatsby'

const NotFoundPage = () => {
  return navigate('/')
}

export default NotFoundPage

 

تم التعديل في بواسطة Adnane Kadri
إضافة معلومات
  • 0
نشر

بالإضافة إلى الإجابات المطروحه يمكنك بالفعل إستخدام "window.location" وذلك كالتالي 

const NotFoundPage = () => {
  if (typeof window !== "undefined") {
    window.location = "/"
  }
  return null
}

حتى لا تفشل عملية البناء نقوم الأول بالتأكد من أن الكائن window الموجود داخل المتصفح موجود أم لا وفي حالة كان موجودا نقوم بتغير المسار إلى الصفحة الرئيسية.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...