


24 октября опубликованы react-native-view-shot 6.2.0 и следующий патч 6.2.1. Библиотека сохраняет изображение компонента React Native. Первый выпуск исправляет масштабирование в одном из режимов захвата на iOS, второй уменьшает состав npm-пакета. На Mentoring.digital объясняем, какие приложения затрагивает изменение.
Исправление относится к iOS и сочетанию useRenderInContext: true с заданными width и height. Раньше слой рисовался в собственном размере: при меньших выходных размерах оставалась его верхняя левая часть, а при больших появлялись прозрачные поля.
Теперь изображение масштабируется до запрошенного размера. Исправление действует и при snapshotContentContainer. Захват без указания width и height не изменился. Разработчики выпустили именно минорную версию, поскольку результат для затронутой комбинации параметров стал другим.
В тот же день из публикуемого npm-пакета убрали пример Expo, служебные настройки и тесты. По данным разработчиков, архив уменьшился с 2,27 МБ и 119 файлов до 55 КБ и 44 файлов. Изменений кода в этом патче нет.
Размер архива зависимости нельзя приравнивать к уменьшению готового приложения на ту же величину. Итоговый размер сборки нужно измерять отдельно: состав npm-пакета и состав устанавливаемого приложения различаются.
Если интерфейс формирует картинку для отправки или сохранения, проверьте не только факт появления файла, но и его содержимое. Старые проверки могли случайно закрепить обрезанный результат как ожидаемый.
Разобрать параметры захвата, нативные различия платформ и проверку результата можно с ментором по React Native. Особенно полезно принести небольшой пример, на котором видно ожидаемый и фактический размер изображения.