Есть много способов сделать это, поэтому я просто опишу один простой способ: использование ссылок и соответствующее обновление состояний.
Полная работающая функция скрытия / отображения песочницы онлайн: codesandbox.io ReactJS Функция Скрыть / Показать демо
Определены два класса, class Feature extends React.Component
и class App extends React.Component
.render()
для <Feature/>
- это ...
render() {
if (!this.state.enabled) {
return <div />;
}
return (
<div className="Feature">
<h1>My Feature!</h1>
</div>
);
}
А опция включения / выключения функции в <App />
будет обрабатывать отображение / скрытие следующим образом ...
handleOnClick(e) {
if (e.target.checked) {
this.feature.setState({ enabled: true });
} else {
this.feature.setState({ enabled: false });
}
}
Конечно, вам нужно убедиться, что <Feature />
имеет набор ссылок ...
<Feature
ref={instance => {
this.feature = instance;
}}
/>