Почему я не должен использовать getBoundingClientRect () вactjs? - PullRequest
0 голосов
/ 14 сентября 2018

В моем последнем проекте я использовал getBoundingClientRect(). Другой инженер React сказал мне, что я не должен использовать его из-за совместимости браузера. Разве это не должно обрабатываться Webpack / Babel?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Насколько мне известно, Webpack по умолчанию не будет поддерживать кросс-браузерную поддержку API-интерфейсов браузера, для этого вам придется использовать полифилы , но они могут иметь недостаток в увеличении размера вашего пакета. В зависимости от того, какие функции вы используете, вы можете использовать целевые полифилы (только для одного или нескольких API) вместо общих, см. Отмена размеров пакетов ES6 Webpack .

Более конкретно к вашему вопросу - и в зависимости от того, для чего вы собираетесь использовать getBoundingClientRect() - вы можете взглянуть на react-measure, который является действительно хорошим пакетом, когда дело доходит до получения информации о размере вашего компонента. Я нашел его очень полезным при работе с расширенными приложениями компоновки реагирования и использую его в своем собственном компоненте компоновки с изменяемым размером: реаги-рефлекс .

0 голосов
/ 14 сентября 2018

Вы можете проверить поддержку браузера для getBoundingClientRect() (и почти все остальное) на caniuse.com.

Как вы можете видеть, getBoundingClientRect() давно поддерживается .Обязательно прочитайте сноски.Не используйте свойства x и y для возвращаемого объекта, и вы находитесь в открытом виде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...