Я пытался открыть дочерний Textura.js, показывая результаты onClick в родительском Sofa.js. Мне удается отображать ничего или блокировать в зависимости от состояния, в котором он был раньше, но теперь мне нужно, чтобы я также мог отображать ничего в файле Textura.js по щелчку кнопки дочернего файла.
Кстати, игнорируйте код HideTextura, потому что это была просто попытка, не работает.
Sofa.js файл, только важный код:
const textura = <Textura />;
export class Sofa extends React.Component {
constructor(props) {
super(props);
this.state = {
display: false
};
}
state = {
showResults: false
};
showTextura = () => {
const { grayscale1 } = this.state;
this.setState(prev => ({
showTextura: !prev.showTextura,
}));
}
render() {
return (
<div id="Sofa">
<div id="SpecCentro">
<img src="../../../ic/icon-tecido-azul.svg" className="Specs" onClick={this.showTextura} alt="Tecido" />
</div>
{this.state.showTextura ? textura : null}
</div>
);
}
}
Textura.js код, только важный для этого вопроса:
export class Textura extends React.Component {
constructor(props) {
super(props);
this.state = {
display: this.props.display
};
}
HideTextura = () => {
const { display } = this.state;
this.setState(prev => ({
display: !display
}));
};
render() {
const { display } = this.state;
return (
<div style={{ display: display }} >
<button onClick={this.HideTextura}>
<img src="../../ic/icon-fechar.svg" alt="Fechar Módulo" id="OptionsClose" />
</button>
<div id="Options">
/* content */
</div>
</div>
);
}
}