React-window: stateupdate قائمة التمرير إلى الأعلى

تم إنشاؤها على ٢٥ ديسمبر ٢٠١٨  ·  3تعليقات  ·  مصدر: bvaughn/react-window

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

أنا على علم بالمرجع scrollToItem ولكنه سريع (يتم التمرير إلى الأعلى أولاً ، ثم التمرير إلى العنصر بسرعة). يبدو أن تعيين initialScrollOffset إلى 99999 يساعد لكنني متأكد من أنني أفعل شيئًا خاطئًا هنا ، أليس كذلك؟ 3

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

في النهاية تم إصلاحه. استمرت قائمتي في إعادة العرض لأنني كنت أقوم بلفها في مكون مشابه لـ react-virtualized 's AutoSizer . انتهى بي الأمر بفك غلافه واستخدام حالة المكون المحلي بدلاً من ذلك لتغيير حجم هذا الجزء تلقائيًا.

ليس لدي أي فكرة عن سبب حدوث ذلك ، لكن كل ما يهم الآن هو أنه يعمل بالفعل كما ينبغي ، حتى أنه يمكنني تحديث حالات الرسائل من sent إلى delivered ولن يتم تمرير القائمة بشكل غير متوقع في أي مكان - جميل للغايه.

شكرًا يا رفاق على هذا المكون ، إنه رائع للغاية!

ال 3 كومينتر

أعتقد أن هذه القضية تتعلق بك.
https://github.com/bvaughn/react-window/issues/105

دانغ هذا جنون ، شكرا لاستجابتك يا صديقي.

  1. هل يمكنني الابتعاد عن طريق تغليفه كمكون آخر واستخدام shouldComponentUpdate بدلاً من ذلك؟
  2. لقد تلقيت تحديثات طفيفة للحالة مثل حالات الرسالة مثل "تم الإرسال" و "تم التسليم" ، والتي وفقًا لفهمي تتطلب إعادة تصيير - هل يمكن أن تكون هناك طريقة على الأقل للحفاظ على موضع التمرير حتى لا تؤثر على تجربة المستخدم؟

في النهاية تم إصلاحه. استمرت قائمتي في إعادة العرض لأنني كنت أقوم بلفها في مكون مشابه لـ react-virtualized 's AutoSizer . انتهى بي الأمر بفك غلافه واستخدام حالة المكون المحلي بدلاً من ذلك لتغيير حجم هذا الجزء تلقائيًا.

ليس لدي أي فكرة عن سبب حدوث ذلك ، لكن كل ما يهم الآن هو أنه يعمل بالفعل كما ينبغي ، حتى أنه يمكنني تحديث حالات الرسائل من sent إلى delivered ولن يتم تمرير القائمة بشكل غير متوقع في أي مكان - جميل للغايه.

شكرًا يا رفاق على هذا المكون ، إنه رائع للغاية!

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