У меня есть компонент React, который я создал для всплывающего окна.PopupContent
получит элемент DOM или другой компонент React в качестве дочернего элемента.
class PopupContent extends React.Component {
render() {
return(
<div>
{React.cloneElement(this.props.children, {closePopup:this.props.closePopup})}
</div>
);
}
}
Пропеллер closePopup
устанавливает флаг, чтобы показать / скрыть всплывающее окно
closePopup(event){
event.preventDefault();
this.setState({
popupInView: false
})
}
Причина передачи closePopup
в дочерний элемент заключается в закрытии всплывающего окна из дочернего компонента..
Эта установка хорошо работает, если дочерний элемент является настраиваемым компонентом React:
<PopupContent>
<ContentOfThePopup />
</PopupContent>
Но я получаю Предупреждение о неизвестной проповеди , если дочерний элемент является элементом DOM.
Предупреждение: React не распознает closePopup
реквизит элемента DOM.
<PopupContent>
<div>Content Of The Popup </div>
</PopupContent>
Я мог бы использовать методы, объясненные здесь дляразличать элемент DOM и компонент React.Но я хотел уточнить у сообщества, есть ли лучший способ