copal
@copal
𝄞 ...оооо baby

Возможно ли получить всех вложенных детей?

<Parent>
    <ALevel>
        <BLevel></BLevel>
    </ALevel>
</Parent>


Возможно ли в Parent получить и ALevel и BLevel?
  • Вопрос задан
  • 343 просмотра
Решения вопроса 1
Есть API для работы с children: https://facebook.github.io/react/docs/top-level-ap... . Так как children - это просто props, пробегайте рекурсивно по всему дереву и собирайте элементы:

function getChildren(children) {
  let elements = []
  if (!children) {
    return elements
  }

  React.Children.forEach(children, child => {
    elements = [ ...elements, child, ...getChildren(child.props.children) ]
  })

  return elements
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@WapGeaR
Программист
Получить в каком виде?
Ответ написан
@prishelec
Через рекурсию. Примеров много.
Ответ написан
Комментировать
@lem_prod
var pChilpren = document.querySelectorAll('Parent *');


или

var parent = document.getElementsByTagName('Parent'); //в случае если только один парент, вообще лучше через id 
var child = parent.querySelectorAll('*');
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы