Добрый вечер !!
Название моего вопроса может быть неправильным, но вот проблема, которую я пытаюсь решить. У меня есть компонент (контент), который прослушивает событие DOM и вызывает доску (экземпляр, который облегчает связь между контейнерами и их приложениями-потребителями).
import Board from '../Board';
class Content extends React.Component {
constructor(props){
super(props);
}
componentDidMount(){
window.addEventListener("message", this.handleCheck, false);
}
componentWillUnmount(){
window.removeEventListener("message", this.handleCheck, false);
}
handleCheck =(event) => {
const { board } = this.props;
board.call({
size: event.detail.size,
panel: event.detail.panel,
.....
})
}
render(){
return null
}
}
Я могу потреблять/вызывать компонент контента, как указано ниже,
import Manager from '../../Manager'
const Example = () => (
<div>
<Manager>
<Content pageType="A4" />
</Manager>
</div>
);
Компонент Manager использует Board API для управления запросами вызовов и поддерживает состояние своих дочерних элементов. Компонент, предоставленный менеджеру как дочерний элемент, также должен поддерживать поддержку Board.
В компоненте Example
я хотел бы вызвать <Content pageType="A4" />
вместо переноса на <Manager>
и каким-то образом использовать <Manager>
в определении компонента Content
(внутри компонента Content для использования Manager). то есть
const Example = () => (
<div>
<Content pageType="A4" />
</div>
);