استخدام useTransition لتحديثات واجهة غير حاجبة
غلّف تحديثات الحالة المكلفة داخل startTransition للحفاظ على استجابة الواجهة.
استخدام useTransition لتحديثات واجهة غير حاجبة درس مجاني في React Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة التحديث الحاجب
وضع React للعرض المتزامن
أساسيات useTransition
const [isPending, startTransition] = useTransition();
const handleChange = (e) => {
setInputValue(e.target.value); // urgent: update input immediately
startTransition(() => {
setFilteredList(filter(e.target.value)); // non-urgent
});
};استخدام isPending لواجهة التحميل
return (
<>
<input value={inputValue} onChange={handleChange} />
{isPending && <Spinner />}
<ResultList items={filteredList} />
</>
);ما يوضع داخل startTransition
// Correct
startTransition(() => setTab('heavy'));
// Wrong — async work outside React state
startTransition(async () => { await fetch(...); }); // not supportedاستخدام startTransition من دون hook
import { startTransition } from 'react';
startTransition(() => setQuery(newValue));مثال على التبديل بين علامات التبويب
const [tab, setTab] = useState('posts');
const [isPending, startTransition] = useTransition();
const selectTab = (t) =>
startTransition(() => setTab(t));useTransition مقارنةً بـ useDeferredValue
ليس بديلًا عن التحسين
تحقق سريع
مراجعة
التالي
الأسئلة الشائعة
هل درس «استخدام useTransition لتحديثات واجهة غير حاجبة» مجاني؟
نعم — نص درس «استخدام useTransition لتحديثات واجهة غير حاجبة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «استخدام useTransition لتحديثات واجهة غير حاجبة»؟
غلّف تحديثات الحالة المكلفة داخل startTransition للحفاظ على استجابة الواجهة. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «استخدام useTransition لتحديثات واجهة غير حاجبة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- حالات التنافس وتنظيف Effect
- استخدام useTransition لتحديثات واجهة غير حاجبة
- استخدام useDeferredValue لتأخير إدخال المستخدم
- استخدام Suspense لحدود البيانات والتعليمات البرمجية