كيفية استخدام ReactJS Query لجلب البيانات من واجهات برمجة التطبيقات

تعلم كيفية استخدام ReactJS Query، مكتبة تُبسّط عملية جلب البيانات وتخزينها في تطبيقات React، لجلب البيانات من واجهات برمجة التطبيقات (APIs) وعرضها على موقعك الإلكتروني.

Amir Hassan

Amir Hassan

19 أغسطس 2025

كيفية استخدام ReactJS Query لجلب البيانات من واجهات برمجة التطبيقات

Apidog للمؤسسات

نشر محلي

SSO & RBAC

متوافق مع SOC 2

استكشاف Apidog Enterprise

في هذه المدونة، سأظهر لك كيف تستخدم ReactJS Query لجلب البيانات من واجهات برمجة التطبيقات وعرضها على موقعك الإلكتروني وكيفية إنشاء كود ReactJS Query الخاص بك باستخدام Apidog

زر

ما هو ReactJS Query ولماذا يجب عليك استخدامه؟

ReactJS Query هي مكتبة تساعدك على إدارة جلب البيانات، التخزين المؤقت، والتحديث في تطبيقات React الخاصة بك. تعتمد على فكرة الاستعلامات، وهي دوال تقوم بجلب البيانات من واجهة برمجة تطبيقات أو أي مصدر آخر. تتولى ReactJS Query تحميل، تخزين، إعادة جلب، ومعالجة الأخطاء لهذه الاستعلامات من أجلك، لذا فلست بحاجة للقلق بشأنها.

توفر لك ReactJS Query أيضًا المعدلات، وهي دوال تقوم بتحديث البيانات على الخادم أو أي مصدر آخر. تتولى ReactJS Query التحديثات التفاؤلية، التراجع، ومعالجة الأخطاء لهذه المعدلات من أجلك، لذا فلست بحاجة للقلق بشأنها أيضًا.

تتوافق ReactJS Query أيضًا بسلاسة مع React، باستخدام الخطافات والمكونات المخصصة التي تتيح لك الوصول إلى البيانات والتلاعب بها في مكونتك. تدعم ReactJS Query أيضًا ميزات مثل الصفحات، التمرير اللانهائي، الجلب في الخلفية، الاستعلامات المعتمدة، والمزيد.

REact

فلماذا يجب عليك استخدام ReactJS Query؟ إليك بعض الفوائد لاستخدام ReactJS Query في تطبيقات React الخاصة بك:

كيفية تثبيت وإعداد ReactJS

ReactJS هي مكتبة جافا سكريبت لبناء واجهات المستخدم. لتثبيت وإعداد ReactJS على جهاز الكمبيوتر الخاص بك، يمكنك اتباع هذه الخطوات:

npx create-react-app my-app

سيقوم هذا الأمر بإنشاء دليل يسمى my-app داخل المجلد الحالي، وإنشاء الهيكل الأولي للمشروع وتثبيت التبعيات الانتقالية.

cd my-app
npm start

ستبدأ هذه الأوامر خادم التطوير وتفتح تطبيقك في المتصفح على http://localhost:3000/. يمكنك تحرير الملفات في مجلد src ورؤية التغييرات في المتصفح.

هذا كل شيء! لقد قمت بتثبيت وإعداد ReactJS بنجاح على جهاز الكمبيوتر الخاص بك، وقد أنشأت وشغلت أول تطبيق ReactJS لك. يمكنك معرفة المزيد عن ReactJS من الموقع الرسمي، حيث يمكنك العثور على الوثائق، الأمثلة، الدروس، والمزيد.

كيفية إنشاء واستخدام الاستعلامات مع ReactJS Query

الآن بعد أن تعلمت كيفية تثبيت وإعداد ReactJS Query، دعنا نرى كيفية إنشاء واستخدام الاستعلامات باستخدام ReactJS Query. تعتبر الاستعلامات المفهوم الأساسي ل ReactJS Query، وهي الطريقة الرئيسية لجلب وعرض البيانات من واجهات برمجة التطبيقات.

كما رأينا في القسم السابق، يمكنك استخدام useQuery كمخطط لإنشاء واستخدام الاستعلامات في مكونات React الخاصة بك. يأخذ useQuery حجتين: مفتاح الاستعلام ودالة الاستعلام. مفتاح الاستعلام هو معرف فريد لاستعلامك، ودالة الاستعلام هي دالة تقوم بجلب البيانات من نقطة نهاية واجهة برمجة التطبيقات وتعيد وعدًا.

يعيد useQuery كائنًا يحتوي على الخصائص التالية:

كيفية جلب البيانات باستخدام ReactJS Query

الميزة الأساسية ل ReactJS Query هي جلب البيانات باستخدام الاستعلامات. الاستعلامات هي دوال تجلب البيانات من واجهة برمجة التطبيقات أو أي مصدر آخر. توفر لك ReactJS Query خطافًا مخصصًا يسمى useQuery، والذي يتيح لك استخدام الاستعلامات في مكونتك.

يأخذ useQuery حجتين: مفتاح الاستعلام ودالة الاستعلام. مفتاح الاستعلام هو معرف فريد لاستعلامك، والذي يمكن أن يكون سلسلة نصية أو مصفوفة. دالة الاستعلام هي دالة تعيد وعدًا يُحل مع البيانات التي تريد جلبها.

على سبيل المثال، لنفترض أنك تريد جلب قائمة بالمنشورات من واجهة برمجة تطبيقات مزيفة باستخدام ReactJS Query. يمكنك إنشاء دالة استعلام تستخدم واجهة برمجة تطبيقات fetch للحصول على البيانات:

// تعريف دالة الاستعلام التي تجلب المنشورات
const fetchPosts = async () => {
  // استخدام واجهة برمجة التطبيقات fetch للحصول على البيانات
  const response = await fetch('https://jsonplaceholder.typicode.com/posts')
  // تحليل الاستجابة ك JSON
  const data = await response.json()
  // إعادة البيانات
  return data
}

ثم، يمكنك استخدام خطاف useQuery في مكونك، وتمرير مفتاح الاستعلام 'posts' ودالة الاستعلام fetchPosts:

// استخدام خطاف useQuery لجلب المنشورات
const { data, isLoading, isError, error } = useQuery('posts', fetchPosts)

يعيد useQuery كائنًا يحتوي على عدة خصائص يمكنك استخدامها للوصول إلى البيانات والتلاعب بها. أهمها هي:

يمكنك استخدام هذه الخصائص لرسم مكونك بناءً على حالة الاستعلام. على سبيل المثال، يمكنك عرض مؤشر تحميل أثناء تحميل الاستعلام، رسالة خطأ إذا كان الاستعلام به خطأ، أو قائمة بالمنشورات إذا كان الاستعلام ناجحًا:

// رسم المكون بناءً على حالة الاستعلام
return (
  <div>
    {isLoading && <div>جاري التحميل...</div>}
    {isError && <div>خطأ: {error.message}</div>}
    {data && (
      <ul>
        {data.map(post => (
          <li key={post.id}>{post.title}</li>
        ))}
      </ul>
    )}
  </div>
)

هذه هي كيفية جلب البيانات باستخدام ReactJS Query. ستقوم ReactJS Query بتخزين البيانات مؤقتًا تلقائيًا، وإعادة جلبها عندما يتم تركيب المكون أو تفكيكه أو تغيير مفتاح الاستعلام. يمكنك أيضًا تخصيص سلوك الاستعلام باستخدام خيارات متنوعة، مثل staleTime، refetchOnWindowFocus، retry، والمزيد. يمكنك العثور على القائمة الكاملة من الخيارات ووصفها في وثائق ReactJS Query.

كيفية استخدام Apidog لإنشاء كود عميل ReactJS Query

Apidog هي منصة تعتمد على الويب تساعدك في اكتشاف واختبار ودمج واجهات برمجة التطبيقات بسهولة. واحدة من الميزات التي تقدمها Apidog هي القدرة على إنشاء كود عميل Fetch بنقرة واحدة، استنادًا إلى مواصفات واجهة برمجة التطبيقات التي تقدمها أو تختارها.

زر
Apidog
Apidog

يمكنك استخدام الكود المولد في مشروعك الخاص، أو تعديله كما تريد. يمكنك أيضًا اختبار الكود مع خادم Apidog الوهمي، والذي يحاكي استجابات واجهة برمجة التطبيقات استنادًا إلى مواصفاتك.

الخاتمة

ReactJS Query هي مكتبة قوية ومتعددة الاستخدامات يمكن أن تجعل تجربة جلب البيانات لدينا أسهل وأفضل بكثير. يمكن أن تعمل مع أي نقطة نهاية لواجهة برمجة التطبيقات تعيد بيانات JSON، ويمكن أن تتكامل مع أي مكون أو مكتبة في React.

في هذه المدونة، تعلمنا كيفية استخدام ReactJS Query لجلب البيانات من واجهات برمجة التطبيقات وعرضها على موقعنا الإلكتروني. لقد رأينا كيف تسهل ReactJS Query جلب البيانات والتخزين المؤقت لتطبيقات React، وكيفية إنشاء كود ReactJS Query باستخدام Apidog. شكرًا لك على القراءة ونتمنى لك الترميز السعيد!

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات