Проблема при изменении ориентации FlashList - React-native/EXPO
У меня возникла проблема с компонентом FlashList в моем приложении React Native/EXPO. Когда ориентация экрана меняется на альбомную, список неожиданно «выскакивает» за пределы видимой части экрана.
У меня есть 3 колонки с фотографиями - в обоих ориентациях. Каждая колонка занимает все свободное пространство, поэтому
- в портретном режиме: больше контента с меньшим размером элементов,
- в режиме альбома: меньше содержимого, но больший размер элементов. Например, у меня есть изображения от 30 до 1, после поворота в альбомный режим я ожидаю, что по крайней мере одна строка из книжной ориентации будет в альбомном режиме, но вместо этого я имею строку, которая раньше была за пределами видимой области (она сохраняет те же места между несколькими поворотами, но для альбома это одно место, для книжной ориентации другое место). - Вы можете увидеть это на скриншотах.
Я понимаю, что проблема, скорее всего, связана с изменением размера renderItem (flex: 1) и, возможно, estimatedItemSize.
Я пытался отслеживать индекс первого элемента в строке, который пересекает середину экрана (с этой частью проблем нет), а затем использовать scrollToIndex после изменения ориентации (это также работает неожиданно - прокрутка до «случайного» места).
Я также пытался использовать ref вместо индекса для первого элемента в среднем ряду и использовать scrollToItem - но это тоже не сработало (прокрутка до «случайного» места).
Если у вас есть идеи как можно решить эту проблему, буду благодарен!
Приложения 2
Актуальные фриланс-проекты в категории Javascript и Typescript
Разработка платформы AM Mobility (автосервис, парковка, страхование, аренда автомобилей)
259 176 UAH
Ищем команду или опытного Full Stack разработчика для создания MVP платформы AM Mobility. AM Mobility — это единая цифровая экосистема для автомобилистов, объединяющая в одном приложении и веб-платформе: парковку; автосервис; шиномонтаж; автомойку; аренду автомобилей;… Javascript и Typescript, Веб-программирование ∙ 3 дня 5 часов назад ∙ 102 ставки |
Gsap анимации
1000 UAH
Добрый день. Нужно внести правки в текущем проекте. Нужен специалист, который хорошо работает на gsap/lenis Нужно сделать анимацию карточек. Подробное ТЗ здесь: https://www.figma.com/design/5bLEJudN5LPpB9ZSoJa2Eb/Untitled?m=auto&t=qwyluUctL1lrMNvh-6 Нужно… Javascript и Typescript, Веб-программирование ∙ 3 дня 11 часов назад ∙ 21 ставка |
Коммерческая on-premise платформа видеосвязи «ViM»Требуется разработать on-premise систему видеосвязи с базовым расчетом на 100 одновременных подключений (10 изолированных комнат по 10 человек). Платформа должна иметь заложенную архитектуру для будущего горизонтального масштабирования до 1000 пользователей путем добавления… Javascript и Typescript, Веб-программирование ∙ 4 дня 6 часов назад ∙ 32 ставки |
Ищу наставника по Claude Code для запуска веб-проекта с нуля**Кратко о задаче:** Я новичок без опыта в программировании. Есть готовое ТЗ на разработку сайта (42 страницы, Next.js, PostgreSQL). Хочу реализовать его самостоятельно с помощью Claude Code - нужен специалист, который настроит среду и научит меня работать с инструментом. ---… Javascript и Typescript, Обучение ∙ 5 дней 10 часов назад ∙ 18 ставок |
Обновление дизайна на сайтеНужно обновить дизайн существующего сайта используя HTML, CSS, JS: освежить внешний вид, сделать его современным и адаптивным под мобильные устройства. Требуется добавить плавные анимации и интерактивные элементы . HTML и CSS верстка, Javascript и Typescript ∙ 6 дней 3 часа назад ∙ 90 ставок |