• 0

كيفية تنفيذ دالة عند تغير الـ route في React؟

أريد أن يتم تنفيذ دالة معينة إن قام المستخدم بالضغط على أحد الرابط وإنتقالة إلى صفحة أخرى في الموقع، أي عمل شيء يشبه حدث onUrlChange من خلال كود كالتالي:

reactRouter.onUrlChange(url => {
   console.log('URL Changed: ', url)
});

هل يمكن تنفيذ شيء كهذا في React؟

أستخدم React-router

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

نعم يوجد history.listen وهي تساعدك لتعرف أن route قد تغير 

import React, { useEffect } from 'react';

import { useHistory } from 'react-router-dom';

const App = () => {
  const history = useHistory();

  useEffect(() => {
    return history.listen((location) => {
      console.log(`You changed the page to: ${location.pathname}`);
    });
  }, [history]);

  return <div>...</div>;
};

طبعا يجب أن يكون المكون الذي يحتوي هذه الشيفرة في أعلى هرم المكونات 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن