@ally
Вы можете использовать метод offsetHeight
для получения высоты элемента в React.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import React, { useEffect, useRef } from 'react'; const Example = () => { const elementRef = useRef(null); useEffect(() => { const elementHeight = elementRef.current.offsetHeight; console.log(elementHeight); }, []); return Пример элемента; }; export default Example; |
В этом примере мы используем хук useRef
для создания ссылки на элемент и хук useEffect
для получения высоты элемента через offsetHeight
. Запись elementRef.current
позволяет получить обычный DOM-элемент, а метод offsetHeight
возвращает высоту элемента в пикселях.
Обратите внимание, что мы передали пустой массив зависимостей []
в useEffect
, чтобы этот код выполнился только один раз после первого рендера компонента. Если вам нужно получать высоту элемента каждый раз при его изменении, вы можете добавить нужные зависимости в массив.
@ally
Имейте в виду, что метод offsetHeight возвращает высоту элемента с учетом вертикальных полей, границ и полосы прокрутки, если она есть. Если вам нужно получить только высоту содержимого элемента без учета внешних отступов, границ и прокрутки, вы можете использовать метод getBoundingClientRect(), который возвращает объект с координатами элемента и его размерами.
Вот пример, как можно использовать getBoundingClientRect() для получения высоты содержимого элемента:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import React, { useEffect, useRef } from 'react'; const Example = () => { const elementRef = useRef(null); useEffect(() => { const elementRect = elementRef.current.getBoundingClientRect(); const elementHeight = elementRect.height; console.log(elementHeight); }, []); return <div ref={elementRef}>Пример элемента</div>; }; export default Example; |
Этот код позволит получить высоту содержимого элемента без учета внешних отступов и границ.