React-native-snap-carousel: الرف الدائري فارغ عند تغيير علامة التبويب لأول مرة. سوف تظهر بعد التمرير الأول.

تم إنشاؤها على ٢٨ ديسمبر ٢٠١٧  ·  31تعليقات  ·  مصدر: meliorence/react-native-snap-carousel

تأكد من قراءة هذا النموذج ومتابعته عن قرب وإلا فسيتم إغلاق مشكلتك دون إشعار

هل هذا تقرير خطأ أم طلب ميزة؟

تقرير الشوائب

إذا أجبت "تقرير الخطأ": md5-62a2514903f8fcaa182638e5eedbdfeb إذا أجبت "طلب الميزة": md5-361fb169607bdf1f936bd177ac587c63

هل قرأت الإرشادات المتعلقة بتقرير الخطأ؟

نعم

هل قرأت الوثائق بالكامل؟

نعم

هل تأكدت من عدم الإبلاغ عن مشكلتك / حلها بالفعل؟

نعم

هل الخطأ خاص بنظام iOS أو Android؟ أم يمكن إعادة إنتاجه على كلا النظامين الأساسيين؟

iOS

هل الخطأ قابل لإعادة الإنتاج في بيئة إنتاج (وليس بيئة تصحيح)؟

نعم

إذا لم تكن قادرًا على إعادة إنتاج الخطأ في وضع الإنتاج ، فمن المحتمل أن يكون له علاقة بقيود React Native (راجع ["المشكلات المعروفة"] (https://github.com/archriss/react-native-snap-carousel /#مشاكل معروفة)). من المحتمل أننا لن نكون قادرين على فعل أي شيء حيال ذلك.

هل تمكنت من إعادة إنتاج الخطأ في المثال المقدم ؟

نعم

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

بيئة

قدم معلومات حول بيئتك الحالية. على الأقل ، يجب أن تتضمن ما يلي: البيئة: رد الفعل: 16.0.0 رد فعل أصلي: "https://github.com/expo/react-native/archive/sdk-24.0.0.tar.gz" رد فعل- أصلي-snap-carousel: 3.4.0 النظام الأساسي المستهدف: Android (6.0) iOS (10.3)

المعرض: 24
رد الفعل: 16.0.0
رد الفعل الأصلي: 0.51
رد فعل أصلي المفاجئة دائري: 3.4.0
رد الفعل والملاحة: 1.0.0-beta.21

خطوات التكاثر

  1. مشروع مفتوح.
  2. التغيير إلى علامة تبويب تحتوي على الرف الدائري.
  3. الرف الدائري فارغ.
  4. حاول التمرير. ستظهر الرف الدائري مرة أخرى كالمعتاد.

سلوك متوقع

كيف كنت تتوقع أن يتصرف مشروعك؟ لا بأس إذا لم تكن متأكدًا من صحة فهمك. فقط اكتب ما كنت تعتقد أنه سيحدث.

تظهر الرف الدائري بشكل طبيعي.

السلوك الفعلي

هل حدث خطأ ما؟ هل هناك شيء معطل أو لا يتصرف كما توقعت؟ صِف هذا القسم بالتفصيل وأرفق لقطات الشاشة (أو لقطات الشاشة) إن أمكن. لا تقل فقط "لا يعمل"!

لدي العديد من الرف الدائري في علامات تبويب متعددة. أنا أستخدم tabnavigator التفاعلية. على شاشتي الأولى ، لديّ دائرتان ، وعلى شاشتي الثانية لديّ دائري آخر. عندما أقوم بتشغيل تطبيقي ، تعمل الرف الدائري على الشاشة الأولى كما هو متوقع. ولكن عندما أقوم بتغيير علامة التبويب إلى شاشتي الثانية ، فإن الرف الدائري موجود ، لكنه فارغ. أستطيع أن أرى أنها تحتل المساحة لارتفاعها ولكن لا شيء يظهر هناك. ولكن عندما أقوم بتمرير الصفحة ، أو التمرير أفقيًا في المنطقة التي أتوقع أن تكون فيها دائري ، تظهر. لقد اختبرت ذلك على وجبة خفيفة تم إنشاؤها حديثًا ، وحدث نفس الشيء. تحقق من مثال الوجبة الخفيفة أدناه. يحدث هذا فقط في نظام iOS ، على نظام Android يعمل بشكل جيد.

نسخة تجريبية قابلة للتكرار


افتح هذه الوجبة الخفيفة على نظام iOS ، أو استخدم برنامج محاكاة الوجبات الخفيفة. بعد التحميل ، قم بتغيير علامة التبويب.
https://snack.expo.io/@afirulaf/carousel -snap-bug

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

react-native bug

التعليق الأكثر فائدة

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

ال 31 كومينتر

لدي نفس المشكلة ولكني لا أستخدم المعرض.

بيئة
رد الفعل الأصلي: 0.51
رد فعل أصلي المفاجئة دائري: 3.4.0

مرحبا afirulaf ،

ربما تكون هذه هي نفس المشكلة مثل # 225 ، لكنك كنت لطيفًا بما يكفي لاتباع إرشادات المساهمة ، مما يعني أن لدي نقطة بداية للعمل معها ؛-)

لسوء الحظ ، أعتقد أن الأمر يتعلق بكيفية عمل المكون FlatList . أقوم حاليًا بتنفيذ خيار يتيح للمستخدمين اختيار الطقس لاستخدام FlatList أو ScrollView (طريقة أقل من الأخطاء ، ولكن لا يمكن استخدامها مع عدد كبير من العناصر).

سأخبرك عندما يتم ذلك حتى نتمكن من معرفة ما إذا كان يحل المشكلة.

كان لي نفس المشكلة

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

اهلا ياجماعة،

فيما يلي مجموعة من مشكلات React Native ذات الصلة:

يُظهر هذا بوضوح مشكلة في المكون FlatList ، وهي مشكلة لا يبدو Facebook حريصًا جدًا على المعرفة والإصلاح.

سيؤدي اختراق removeClippedSubviews للخدعة ، لكنه سيجعل المكون FlatList عديم الفائدة لأنه سيعطل جميع التحسينات ...

أنا متأكد من أن استخدام ScrollView سيفي بالغرض ولكن ، مرة أخرى ، سيعني نسيان استخدام المكون الإضافي مع عدد كبير من العناصر ...

لن نتمكن من الحصول على أفضل ما في العالمين حتى يفعل Facebook شيئًا حيال ذلك. نظرًا لأنه تم إغلاق جميع المشكلات ذات الصلة بينما لم يتم تقديم حل حقيقي ، فأنا قلق بعض الشيء :-(

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

قد ترغب في تجربة الفرع v3.5.0 . لقد أضفت طريقة جديدة triggerRenderingHack() .

هنا الوصف المرتبط:

triggerRenderingHack (offset) | استدع هذا عند الحاجة للتغلب على خطأ عشوائي FlatList يحافظ على إخفاء المحتوى حتى يتم تمرير المنصة. لاحظ أن المعلمة offset غير مطلوبة وستكون افتراضيًا إما 1 أو -1 اعتمادًا على موضع التمرير الحالي.

آمل أن يؤدي استدعاء هذا في كل تغيير علامة تبويب إلى حل مشكلتك ...

farulaf @ owen12abGuodadada يا شباب! هل تمكنت من تجربة الإصلاح المقترح؟

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

إنه يعمل ، ولكنه يبدو أيضًا وكأنه خلل - في بعض الأحيان بالكاد يكون ملحوظًا ، وأحيانًا يكون غازيًا بعض الشيء. هل هذا قريب مما كنت تتوقعه @ bd-arc؟ أتفهم أنه حل بديل ، لذلك إذا كان هذا هو السلوك المقصود ، فكل شيء على ما يرام. ^ ^

fvsch حسنًا ، يجب أن يتحرك الرف offset . كنت آمل أن يمر هذا دون أن يلاحظه أحد ، خاصة إذا تم ذلك أثناء تغيير علامة التبويب ...

هل تمانع في مشاركة لقطة شاشة أو وجبة خفيفة حتى أتمكن من الحصول على فكرة عن مدى سوء المظهر؟

الختام حيث لم يتم تقديم أي ملاحظات أخرى.
لا تتردد في طلب إعادة الافتتاح إذا لزم الأمر.

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

سعيد للإبلاغ عن السلوك الجذاب الذي كنت أراه لم يكن مشكلة في هذا lib.
والآن بعد أن أصلحت الكود الخاص بنا ، أرى أن السلوك البديل يحدث كما هو موضح.

سعيد لسماع ذلك fvsch! وشكرًا لك على الإبلاغ ؛-)

لا تزال هذه المشكلة موجودة .. على iPhone 8 Plus تظهر الرف الدائري فارغًا.

spotsadmin كما فهمت على الأرجح ، هذه مشكلة FlatList ، وبالتالي ، ليس لدي سيطرة مباشرة عليها. تم إغلاق مشكلات RN المذكورة أعلاه على الرغم من حقيقة أنه لم يتم تقديم حل من قبل فريق Facebook ...

كحل مؤقت ، يمكنك تعيين useScrollView إلى true . اعلم أنك ستفقد جميع تحسينات الأداء من خلال القيام بذلك.

لقد سئمت حاليًا من مكون FlatList ومشكلاته الأساسية المزعجة بشكل لا يصدق. أعمل حاليًا على استبداله تمامًا (انظر # 250).

المعرض: 29.0.0
رد الفعل: 16.4.1
رد الفعل الأصلي: 0.55.4
رد فعل-أصلي-المفاجئة-دائري: 3.7.2
رد الفعل والملاحة: 1.5.11

لقد حاولت:
1) تعيين useScrollView إلى true
2) استخدام triggerRenderingHack();

المشكلة لا تزال قائمة للأسف.

evertlund نفس السلوك هنا.

رد فعل 16.5.0 ،
رد الفعل الأصلي 0.57.1
رد فعل أصلي المفاجئة دائري: 3.7.5
رد الفعل والملاحة: 2.17.0

@ BD- قوس لا ينبغي إغلاق هذه المسألة على ما أعتقد.

kondratk لسوء الحظ ، هذه مشكلة RN لذا لا يمكننا فعل أي شيء حيال ذلك. لهذا أعتقد أن إبقاء هذا الموضوع مفتوحًا سيكون مضللًا.

على أي حال ، هل حاولت إضافة removeClippedSubviews={false} ؟

kondratk لسوء الحظ ، هذه مشكلة RN لذا لا يمكننا فعل أي شيء حيال ذلك. لهذا أعتقد أن إبقاء هذا الموضوع مفتوحًا سيكون مضللًا.

على أي حال ، هل حاولت إضافة removeClippedSubviews={false} ؟

انا اشتغل. أضف هذا الدعامة ~ thx

استخدام removeClippedSubviews = {false} يعمل أيضًا معي.

استخدام triggerRenderingHack(); قام بالمهمة بالنسبة لي. شكر!

أقول ذلك - الاختراق غير محسوس بالنسبة لي ، لكننا سنرى ما إذا كان يمر عبر ضمان الجودة. 🤞

فهل تستمر مشاكل FlatList هذه في RN 0.60 أيضًا؟

للتكوين

"تفاعل أصلي": "0.61.1"،
"تفاعل - أصلي - أداة عرض - دائري": "3.7.5" ،
"رد فعل التنقل": "^ 4.0.10"
تم اختباره على iOS 13

triggerRenderingHack() لا يعمل معي ، فقط removeClippedSubviews={false} . ومع ذلك ، من الخطر استخدام https://facebook.github.io/react-native/docs/flatlist.html#removeclippedsubviews

مرحبًا ، لقد واجهت هذه المشكلة أيضًا.
أدركت أنه إذا انتظرنا تحميل المكون ، فيمكننا تقديمه دون مشاكل.

أترك مقاربتي:
https://codesandbox.io/embed/react-native-g9lyi؟fontsize=14&hidenavigation=1&theme=dark

ezgif com-video-to-gif

pd: يجب أيضًا أن أقدم طلبًا باستخدام ترقيم الصفحات اللانهائي!

مع تحياتي

MauroTaliente شكرًا لك على مشاركة

يجب أن نبدأ بالتأكيد في استخدام الخطافات داخل المكون نفسه. هل ستكون جاهزًا لمهمة ترحيلها؟

أيضًا ، لا تتردد في إنشاء علاقات عامة لتقسيم الصفحات اللانهائي ؛ تبدو جيدة جدا! نقطة إضافية إذا كان بإمكانك جعلها تبدو مثل تلك التي شوهدت في # 369 ؛-)

fvsch حسنًا ، يجب أن يتحرك الرف offset . كنت آمل أن يمر هذا دون أن يلاحظه أحد ، خاصة إذا تم ذلك أثناء تغيير علامة التبويب ...

@ bd-arc هل هناك أي حل بديل لهذا؟ نفس الموصوف يحدث لتطبيقي عند تغيير علامات التبويب. في بعض الأحيان يكون التمرير سريعًا بالكاد ملحوظًا إلى اليسار والعودة إلى الوسط ، وأحيانًا يكون أكثر وضوحًا.

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

أحبك

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

شكر!!!
كانت المشكلة فقط على iOS

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

نعم ، إنه يعمل

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

إنه يعمل بالنسبة لي. شكرا جزيلا

إضافة removeClippedSubviews = {false} حل مشكلتي ، thx

عملت لدي بعد ساعة من البحث! شكرا جزيلا!

يجب أن تضاف في القضايا المشتركة :)

علامات لأشخاص مثلي يحاولون العثور على هذه المشكلة في العدد الهائل من المشكلات الأخرى:

  • دائري لا يظهر عند التحميل الأول
  • الرف الدائري فارغ عند العرض الأولي
  • لا يعمل
  • يعمل فقط بعد التمرير
  • لا تجعل
  • لا يتم العرض
  • فارغ عند العرض الأولي
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات