Cannot read properties of undefined ترجمتها «ما قدر يقرأ خصائص قيمة غير معرّفة»، ومعناها: الكود حاول يقرأ شي من بيانات مو موجودة. الكلمة اللي بين القوسين تقول لك إيش كان يحاول يقرأ: (reading 'map') يعني كان يبي يمر على قائمة، والقائمة ما وصلت.
الترجمة كلمة بكلمة
| الرسالة | الترجمة | إيش تعني |
|---|---|---|
Cannot read properties of undefined | ما قدر يقرأ خصائص قيمة غير معرّفة | البيانات ما وصلت أصلًا |
Cannot read properties of null | نفس الشي، بس القيمة فاضية (null) | مع Supabase غالبًا يعني إن الطلب رجع خطأ |
(reading 'map') | أثناء قراءة map | كان يمر على قائمة: طلبات، منتجات، رسائل |
(reading 'length') أو (reading 'name') | أثناء قراءة الطول أو الاسم | نفس الخطأ، بس على حقل ثاني |
undefined is not an object (evaluating 'data.map') | undefined مو كائن | نفس الخطأ، بصيغة Safari و iPhone |
وين تشوفها، وليش ما تطلع بالعربي
تطلع في Console (اضغط F12)، بالإنجليزي حتى لو لغة جهازك عربي، لأنها رسالة من JavaScript. واللي يشوفه المستخدم غالبًا: الجزء كامل يختفي، أو الصفحة كلها بيضاء.
مشكلتك ولا مشكلة الموقع؟
- إذا أنت زائر: المشكلة في الموقع. ممكن تشتغل لو حدّثت الصفحة على شبكة أسرع، لكن السبب عندهم.
- إذا الموقع موقعك: ليش يشتغل عندك ويتعطّل عند العميل؟ لأنك تجرّب في ظروف مريحة: بيانات جاهزة وإنترنت سريع. عند العميل: البيانات ما وصلت بعد، أو حسابه جديد وفاضي، أو الطلب رجع خطأ صلاحيات، أو اسم الحقل في الكود غير اسمه في قاعدة البيانات.
إيش تكتب لـ Lovable أو Bolt أو Cursor
الحل اللي تحبه الأدوات: data?.map أو (data || []).map في كل مكان. الخطأ يختفي، لكن لو السبب خطأ صلاحيات، العميل يشوف صفحة طلباته فاضية ويحسب إن طلباته انحذفت، وأنت ما يوصلك شي. افتح تبويب Network، وانسخ رد الطلب اللي يجيب البيانات، ثم انسخ هذا:
I get "TypeError: Cannot read properties of undefined (reading '<field>')" on <page>.
The request that loads this data returns: <paste the Response from the Network tab>.
Find why the data is missing (still loading, empty account, an error from the request,
or a field name that differs from the database). Show loading, empty and error states.
Do not hide it with optional chaining or "|| []" alone. A failed request must show an error.الحل خطوة بخطوة
كيف تتأكد بنفسك، والحالات الأربع اللي لازم كل صفحة تعرضها صح، في درس Cannot read properties of undefined (reading 'map'): كيف تحله؟. وإذا السبب صلاحيات، شوف permission denied for table في Supabase.
وإذا الخطأ يتكرر في أكثر من صفحة، حل مشاكل تطبيقك يبدأ بتشخيص مكتوب قبل أي تعديل.