Вы можете переместить видимое состояние в родительский режим следующим образом:
const Child = ({ visible }) => {
return visible && <h2>Child</h2>;
};
const Parent = () => {
const [visible, setVisible] = React.useState(false);
return (
<div>
<h1>Parent</h1>
<Child visible={visible} />
<button onClick={() => setVisible(visible => !visible)}>
Toggle
</button>
</div>
);
};
Если у вас много дочерних компонентов, вы должны сделать более сложные логи c в setVisible
. Поместите объект в useState, где свойствами этого объекта будут все имена (идентификаторы) дочерних компонентов