البداية · فصل ٣

الشجرة المولّدة وتحذير التحديث

routeTree.gen · tsr generate · Fast Refresh
🎯 الهدف: تطلّع routeTree.gen لو الاستيراد فشل، وتعرف إن تحذير Fast Refresh متوقع.

خطأ شائع أول مرة: الملف مش لاقي ./routeTree.gen. إنت مش بتكتب الملف. الـ plugin بيولّده أول ما سيرفر التطوير يشتغل، بشرط يكون فيه راوتس.

لو التوليد ما حصلش

المجلد الفاضي مش بيولّد حاجة. لازم على الأقل src/routes/__root.tsx و src/routes/index.tsx.

اتأكد إن tanstackRouter قبل react() في مصفوفة الـ plugins.

لو السيرفر كان فاتح قبل ما تضيف الملفات، وقفه وشغّله تاني. التوليد بيحصل لحظة التشغيل.

ولو عايز الملف قبل ما تفتح السيرفر:

terminal
npx tsr generate

الأمر يقرا routes/ ويكتب routeTree.gen.ts. راجع اسم الأمر في الدوكس لو الإصدار غيّره.

تحذير Fast Refresh

الرسالة دي تحذير، مش خطأ يوقف التطبيق. بتيجي لأن التحديث السريع عايز الملف يصدّر كومبوننتس بس.

في ملف الراوت فيه export const Route. ده إعداد الراوت، مش كومبوننت. المكتبة طالبة التصدير ده في كل ملف. التحذير متوقع في أي مشروع راوتنج بالملفات.

النتيجة العملية: تعديل الملف يعمل إعادة تحميل كاملة بدل تبديل فوري. الفرق صغير في الشغل اليومي.

مرّر الدالة بالاسم جوه component. دالة السهم اللي بترجع عنصر ممكن تتعمل من جديد كل رسم. التحذير هيفضل موجود لأن السبب هو وجود Route جنب الكومبوننت، مش شكل الدالة.

خلّصت الفصل لما

🧠 اختبر نفسك
١) الاستيراد فشل والملف مش موجود. أول حاجة تتأكد منها؟
إن مجلد routes فيه __root و index، وإن plugin الراوتر قبل react، وبعدين أعد تشغيل السيرفر.
٢) تحذير Fast Refresh معناه التطبيق واقع؟
لأ. التحديث هيبقى إعادة تحميل كاملة. النمط ده مطلوب من المكتبة.
٣) إيه أمر التوليد من غير سيرفر؟
npx tsr generate. راجع الدوكس لو الاسم اتغير.