React-native-snap-carousel: ضع في اعتبارك استخدام FlatList.

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

هل فكرت في استخدام FlatList بدلاً من ScrollView ؟ سيؤدي ذلك إلى تحسين الأداء كثيرًا ولديه حمل كسول للعناصر التي تعمل بشكل صحيح

enhancement testers wanted

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

مرحبًا EdmundMai ، يجب أن أتمكن من العمل عليه هذا الأسبوع أو الأسبوع الذي

ال 26 كومينتر

مرحبًا scerelli ، وشكرًا على الاقتراح.
في الواقع ، نعم ، لقد نظرنا في هذا. لسوء الحظ ، في هذه المرحلة ، لا يمكن حل مشكلات مثل هذه المشكلة بالنسبة لنا.

ومع ذلك ، سنواصل تجربة FlatList ونراقب تطور المكون عن كثب.

مرحبا يا رفاق ،
@ bd-arc فقط لفت انتباهي إلى هذا الموضوع.

أنا مهتم باستخدام react-native-snap-carousel مع عدد كبير من العناصر (~ 2000). من خلال ما أفهمه ، لا يزال FlatList غير ناضج بعض الشيء ولديه أخطاء مثل https://github.com/facebook/react-native/issues/14037 والتي هي إلى حد كبير سدادات للعرض.

ما رأيكم يا رفاق في البدء بمنفذ إلى ListView أولاً؟
تقرأ وثائق Facebook الخاصة

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

يبدو أن التبديل إلى ListView أولاً سيعالج بالفعل بعض مشكلات الأداء القبيحة التي أراها حاليًا مع عدد كبير من العناصر في react-native-snap-carousel .

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

إذا كنتم توافقون على هذا الاتجاه ، فهل ستكونون مهتمين ببدء فرع جديد ينقل react-native-snap-carousel إلى ListView أولاً؟

PublicParadise لاحظ أن هناك عيبًا رئيسيًا واحدًا في استخدام إما ListView أو FlatList : لن يتمكن المرء بعد الآن من استخدام مكونات مختلفة كشرائح دائرية ، مما قد يفسد المكون الإضافي لبعض المستخدمين .. .

مع وضع ذلك في الاعتبار ، سيكون من الرائع تقديم أفضل ما في العالمين:

  • ScrollView للعرض الدائري اللامع مع أنواع شرائح متنوعة وأقل من 50 عنصرًا على سبيل المثال
  • FlatList للعربات الدوارة الموجهة نحو الأداء بعناصر متطابقة.

أحتاج إلى اللعب بالشفرة لمعرفة مدى قابليتها للصيانة.

الأفكار والاقتراحات موضع ترحيب كبير ؛-)

PublicParadise حسنًا ، انسَ ما قلته للتو ؛ يجب أن تساعد الخاصية getItemLayout لـ FlatList حقًا في تجانس الأمور. قد نتمكن حتى من تقديم الدعم للأطفال بمختلف itemWidth .

لذلك دعونا نركز على الانتقال إلى Flatlist على المدى المتوسط ​​؛-)

@ bd-arc أحب فكرة تقديم كلا العالمين. يمكنك دائمًا أن تقرر لاحقًا ما إذا كنت تريد التقاعد بإصدار ScrollView .

مرحباً ، هل لديك أي دليل متى سينتهي هذا؟ أتطلع حقًا إلى إصدار القائمة الثابتة!

مرحبًا EdmundMai ، يجب أن أتمكن من العمل عليه هذا الأسبوع أو الأسبوع الذي

@ bd-arc رائع ، شكرًا جزيلاً على هذه المكتبة !!

هل ما زالت https://github.com/facebook/react-native/issues/14037 تمثل مشكلة؟ يبدو أنه تم إغلاقه بسبب نقص البيانات؟ هل الخانق يصلحه بشكل كاف؟

لدي أيضًا مشكلات تتعلق بالأداء مع هذه المكتبة. الرجاء استخدام القائمة الثابتة.

حسنًا يا رفاق ، لدي بعض الأخبار الجيدة: تنفيذ FlatList هو مجرد مسألة ساعات الآن.

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

ونحن هنا! لقد دفعت للتو فرعًا flatlist مع جميع الالتزامات ذات الصلة.

لقد اختبرته جيدًا في مشاريع حقيقية ويبدو أنه جيد جدًا بالنسبة لي (على الرغم من أن FlatList لا يزال مليئًا بالأخطاء). لقد أضفت أيضًا عنصرًا جديدًا activeSlideAlignment (انظر رقم 3) ، نظرًا لأنه كان من السهل جدًا تنفيذه باستخدام FlatList .

الآن ها هي الصفقة: __

لتسهيل الاختبار ، يشتمل الفرع على README محدث بالإضافة إلى مثال محدث ؛-)

flatlist example

إنه يعمل بشكل جيد للغاية مع FlatList! شكرا!

ومع ذلك ، إذا كانت مصفوفة البيانات فارغة ، فستظهر الخطأ scrollToIndex out of range: 0 vs -1 حيث 0 هو فهرس الشريحة الحالية.

نتطلع إلى الإفراج!

شكرًا لملاحظة هذه المشكلةmazing!

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

أهلا!

كيف يمكنني تثبيت إصدار القائمة المسطحة هذا باستخدام npm؟ أود أن أكون فأرًا أبيض صغيرًا لتجربة هذه الميزة :-)

نعم فقط استخدم رابط GitHub بدلاً من الإصدار وأشر إلى فرع القائمة الثابتة باستخدام #

مرحبا jarvisluong ،

قال scerelli كل شيء :-) للحصول على آخر التزام حالي لفرع flatlist ، وما لم أكن مخطئًا ، يمكنك استخدام ما يلي:

"react-native-snap-carousel": "https://github.com/archriss/react-native-snap-carousel#fbdb671"

لا تنس التحقق من الوثائق المحدثة وكذلك دليل الترحيل .

اتطلع لملاحظاتك في المستقبل ؛-)

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

هنا تأتي ميزة رائعة جدًا كنت أعمل عليها خلال الأيام القليلة الماضية لأنني كنت بحاجة إليها لمشروع: صور المنظر ، محرك أصلي يعمل بالطاقة 🍾

react-native-snap-carousel parallax image

كالعادة ، تم تحديث الوثائق والمثال . اسمحوا لي أن أعرف ما هو رأيك!

react-native-snap-carousel parallax images

حتى الآن ، تعمل نسخة FlatList بشكل رائع 👍. الأداء صدم حقا!

شكرا لملاحظاتكjarvisluong! لقد قمت بسحق بعض الأخطاء اليوم ولكن نعم ، يبدو أن التطبيق الجديد يعمل كما هو متوقع.

سأعمل الآن على تنفيذ وضع الحلقة المناسبة. إذا لم يتم الإبلاغ عن أي مشكلة كبيرة منذ ذلك الحين ، فمن المحتمل أن يكون الوقت مناسبًا لإصدار الإصدار 3.0.0 ؛-)

كان لدي بعض المشاكل في التحديث لرد الفعل الأصلي v0.47.0.

أولاً ، تلقيت أخطاء حول react-native-snap-carousel ، لذا قمت بإلغاء تثبيت react-native-snap-carousel وقمت بتثبيت [email protected] وأعدت تثبيت react-native-snap-carousel . ولكن الآن لا تظهر العناصر في الرف الدائري ، لكني لا أتلقى أي أخطاء.

مرحبًا mazing ،

لقد قمت للتو بتحديث المثال إلى RN v0.47.1 (راجع آخر التزام ) ولم يكن لدي أي مشكلة. هل تمانع في تجربته وإخباري إذا كنت لا تزال تواجه مشاكل؟

أنا آسف - سيئتي! عندما أعدت التثبيت ، نسيت تثبيت فرع القائمة الثابتة ، لذلك لم يتم عرض العناصر ببساطة ، حيث لم يكن لدي سوى خاصية renderItem ، والتي لم تكن مستخدمة في الإصدار القديم.

يبدو أن لدي مشاكل في استخدام

componentDidMount() {
  this.props.navigation.setParams({
    key: 'value'
  });
}

في react-navigation على الشاشات بـ <Carousel ... /> .

أتلقى الخطأ

screen shot 2017-08-04 at 10 16 10

mazing هل تمانع في نسخ / لصق أحدث تعليقاتك في إصدار مخصص؟ أعتقد أن الأمر قد يتعلق بإعدادك وليس بتطبيق FlatList ؛-)

تم نشر الإصدار 3.0.0!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات