Предположим, у меня есть три компонента, где SubMain2 находится внутри SubMain1, а SubMain1 находится внутри Main. Как передать реквизиты из SubMain2 в основной компонент?
ПРОБЛЕМА: TypeError: Невозможно прочитать свойство 'handleSubMain1' из неопределенного
Main
class Main extends Component {
constructor(props) {
super(props);
this.handleSubMain1 = this.handleSubMain1.bind(this);
}
handleSubMain1() {
console.log('received props from SubMain1 which is from SubMain2!');
}
render() {
<SubMain1 handleSubMain1={this.handleSubMain1}/>
}
}
SubMain1
class SubMain1 extends Component {
constructor(props) {
super(props);
this.handleSubMain2 = this.handleSubMain2.bind(this);
}
handleSubMain2() {
console.log('received props from SubMain2!');
}
render() {
<SubMain2 handleSubMain2={this.handleSubMain2}/>
}
}
SubMain2
Component SubMain2 extends Component {
constructor(props) {
super(props);
}
render() {
this.props.handleSubMain2();
}
}
Я попробовал этот подход, однако я получаю handleSubMain1 функция не определена. Я даже пытался передать реквизиты из SubMain2 в компонент Main напрямую, но не повезло.