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

السؤال

Recommended Posts

  • 0
نشر

هل تقصد أنك تريد إزالة ال Query Params عند الضغط على الزر ؟

إذا كان كذلك يمكنك استخدام الدالة router.replace كالتالي

const router = useRouter();

router.replace("/about", undefined, { shallow: true });

الرابط سوف يكون كالتالي فقط

/about

 لاحظ أن ال shallow: true تسمح لك تحديث الرابط بدون تنفيذ دوال ال data fetching 

يمكنك القراءة أكثر عن الموضوع من خلال موقع next تحت عنوان Shallow Routing

  • 0
نشر (معدل)

يمكنك حل المشكلة بالشكل التالي:

push(`${asPath.split('?')[0]}?comp=${id}`);
// أو إذا كنت تريد دالة قابلة لإعادة الاستخدام
function delQuery(asPath) {
  return asPath.split('?')[0]
}
..
..
const {push, asPath} = useRouter()
push(`${delQuery(asPath)}?comp=${id}`);

كما يمكنك استخدام history.replaceState لكن قد :

if (typeof window !== "undefined") { 
  window.history.replaceState(null, '', '/about') 
}

 

تم التعديل في بواسطة Ali Haidar Ahmad

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...