У мене виникла проблема з компонентом FlashList у моєму додатку React Native/EXPO. Коли орієнтація екрану змінюється на альбомну, список несподівано «вискакує» за межі видимої частини екрану.
У мене є 3 колонки з фотографіями - в обох орієнтаціях. Кожна колонка займає весь вільний простір, тому
у портретному режимі: більше контенту з меншим розміром елементів,
у режимі альбому: менше вмісту, але більший розмір елементів. Наприклад, у мене є зображення від 30 до 1, після повороту в альбомний режим я очікую, що принаймні один рядок з книжкової орієнтації буде в альбомному режимі, але замість цього я маю рядок, який раніше був за межами видимої області (він зберігає ті самі місця між кількома поворотами, але для альбому це одне місце, для книжкової орієнтації інше місце). - Ви можете побачити це на скріншотах.
Я розумію, що проблема, швидше за все, пов'язана зі зміною розміру renderItem (flex: 1) і, можливо, estimatedItemSize.
Я спробував відстежувати індекс першого елемента в рядку, який перетинає середину екрану (з цією частиною проблем немає), а потім використовувати scrollToIndex після зміни орієнтації (це також працює несподівано - прокрутка до «випадкового» місця).
Я також спробував використати ref замість індексу для першого елемента в середньому рядку і використати scrollToItem - але це теж не спрацювало (прокрутка до «випадкового» місця).