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

السؤال

Recommended Posts

  • 1
نشر

في ملف الـ app، قم بإضافة حالة بالاسم loading وتكون قيمتها true بالشكل الافتراضي:

const [loading, setLoading] = useState(true);

وقم بإنشاء useEffect وفي داخلها قم بتغيير الحالة loading إلى false :

useEffect(() => {
  setLoading(false)
}, []);

وقبل الـ return الخاصة بالـ app، قم بإضافة الكود التالي :

if(loading) return "loading..."

 

  • 0
نشر

يمكنك استخدام useEffect(). هذه الخاصية تسمح لك بتنفيذ كود عند تحميل البيانات أو عند تحديث البيانات.

على سبيل المثال، لعرض spinner أثناء التحميل، يمكنك استخدام الكود التالي:

import React, { useState, useEffect } from "react";

function App() {
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    // ابدأ تحميل البيانات
    // ...

    // بمجرد تحميل البيانات، اضبط حالة loading على false
    setLoading(false);
  }, []);

  return (
    <div>
      {loading ? (
        <Spinner />
      ) : (
        // اعرض المحتوى الرئيسي
        <MyContent />
      )}
    </div>
  );
}

const Spinner = () => (
  <div className="spinner">
    <div className="spinner-container">
      <div className="spinner-inner"></div>
    </div>
  </div>
);

const MyContent = () => (
  <div>
    // هذا هو المحتوى الرئيسي
  </div>
);

export default App;

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...