Я столкнулся с проблемой, которую не знаю, как «правильно» решить.
У меня есть два компонента, назовем их parent
и child
.
child
компонент«генерируется» вызовом функции, которая его создает, давайте вызовем эту функцию child creator
.Компонент parent
имеет кнопку, которая показывает / скрывает child
, но также предполагает .focus()
узел HTML dom, который является дочерним.Теперь показ / скрытие я реализовал с помощью состояния, но я не знаю, как применить javascript .focus()
к дочернему HTML-узлу dom.
Также есть небольшая загвоздка ... компонент child
«генерируется» и «возвращается» при вызове простой старой функции javascript, назовем ее createChild
.
Это связано с тем, что дочерний компонент должен сильно отличаться в зависимости от того, чтопараметры, которые были переданы, однако, его также необходимо повторно использовать в приложении, поэтому функции createChild
обеспечивают одинаковость всех компонентов child
при одинаковых входных данных.
Я попытался передатьref
создателю, однако, поскольку ref
не является опорой, он недоступен.Как правильно "захватить" детские доменные узлы, чтобы .focus()
их нажимать на кнопку, поскольку я не могу передать ref
?
Код изолированной программной песочницы: https://codesandbox.io/s/lyj6x2948m