NEOmanceR
@NEOmanceR
Начинающий веб разработчик

Как получить высоту нужного элемента ReactJS (map)?

{textArray.map(({ sometext, id }) => {
                <div key={id} className='Wrap'>
                    <span classNam='Text'>{someText}</span>
                </div>
            })}


Хочу получать высоту нужного Text и задавать её нужному Wrap для плавного увеличения высоты.
Как это зделать ? можно как то получить массив элементовText похожим способом как querySelectorAll ?
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
profesor08
@profesor08
https://ru.reactjs.org/docs/hooks-reference.html#useref

Получаешь элемент родителя и выбираешь нужных потомков. потом при помощи getBoundingClientRect() получаешь их размеры.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
askhat
@askhat
Full Stack Developer
Как-то так, может и получше что придумать можно

function Parent() {
  let data = ['foo', 'bar', 'baz']
  let rects = new Map()
  return data.map(d => <Child content={d} onRectReady={rects.add} />)
}
function Child({content, onRectReady}) {
  let ref = useRef()
  useEffect(() => {
    let rect = ref.current.getBoundingClientRect()
    onRectReady(content, rect)
  }, [])
  return <div ref={ref}>{content}</div>
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
04 мар. 2021, в 16:10
10000 руб./за проект
04 мар. 2021, в 15:49
500 руб./в час
04 мар. 2021, в 15:42
8000 руб./за проект