Как react-native-measure-text вычисляет высоту

Я хочу измерить height текстового компонента в react-native, не выводя его на экран.

react-native-measure-text можно использовать для этого, но как эта библиотека его вычисляет.

Проверьте исходный код. Функция отличается для Android и iOS github.com/airamrguez/react-native-measure-text/blob/master/‌​…

Konrad 10.04.2023 21:43
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Он создает компонент Text с теми же свойствами, что и тот, который вы хотите измерить, а затем устанавливает свойство onLayout в функцию, которая собирает информацию о макете компонента Text при его отображении. Информация о макете включает высоту и ширину компонента, которые можно использовать для расчета высоты текста. После рендеринга компонента Text с помощью onLayout функция react-native-measure-text удаляет компонент с экрана, но сохраняет информацию о его макете. Затем он возвращает вам высоту компонента, позволяя вам измерить высоту исходного текстового компонента, фактически не отображая его на экране.

Другие вопросы по теме