В родительском компоненте есть такая функция
this.mobileMenuOpen = () => {
console.log('тут')
this.setState({
mobileMenuShow: !this.state.mobileMenuShow,
})
console.log(this.state.mobileMenuShow)
}
Также внутри родительского компонента есть вот такой дочерний:
<BackgroundWave
link={this.waveBackground}
link2={this.waveBackgroundWrapper}
onMobileMenuOpen={this.mobileMenuOpen}
mobileMenuOpen={this.state.mobileMenuShow}
/>
В дочерний компонент передается функция выше
onMobileMenuOpen={this.mobileMenuOpen}
Далее эта функция вызывается в дочернем компоненте:
function BackgroundWave(props) {
let classBackground, classArrow = '';
if(props.mobileMenuOpen) {
classBackground = 'background-wave background-wave--opened';
} else {
classBackground = 'background-wave';
}
return (
<div className={classBackground} ref={props.link2}>
<canvas ref={props.link} id='background-animation' className='background-wave__item'></canvas>
<div className='background-wave__opener-wrap' onClick={props.onMobileMenuOpen}>
<svg className='background-wave__opener'>
<use xlinkHref='img/icons/sprite.svg#mobile-opener' />
</svg>
</div>
</div>
);
}
Но вызов не срабатывает, я не могу понять почему, пробовал вызывать различными способами.
onClick={props.onMobileMenuOpen()}
onClick={() => {props.onMobileMenuOpen}}
Но это не помогло