Последние пару недель я изучал React и способы его интеграции с Meteor. Одна проблема, с которой я столкнулся, заключается в том, что при использовании FlowRouter и ReactLayout я не могу понять, как передать свойства/функции из родительского компонента/компонента макета в дочерние компоненты, которые рендерит ReactLayout. Вот пример того, что я пытаюсь сделать:
// Layout component with function to pass
MainLayout = React.createComponent({
functionToPass() {
do some stuff...
},
render() {
return (
<div>
{this.props.content}
</div>
)
}
});
// Component to pass into main layout
DynamicComponent1 = React.createComponent({
render() {
return (
<div>
<h1>This component will change</h1>
<button onClick={this.props.functionToPass}>Press me!</button> // property passed from layout component
</div>
)
}
});
// FlowRouter
FlowRouter.route('/', {
action() {
ReactLayout.render(MainLayout, {
content: <DynamicComponent1 /> // Somehow I need to pass MainLayout.functionToPass() to DynamicComponent1 here
}
}
});
Должен отметить, что я знаю, как передать свойства компонентам, которые не изменяются динамически - визуализировать прямо в MainLayout. Однако это не то, что я пытаюсь сделать. Большое спасибо!