Вы можете установить флаг в вашем хранилище приставок, чтобы определить, должны ли эти компоненты отображаться.
Установите начальное состояние в вашем редукторе, и пусть ваша боковая панель, панель навигации и панель мониторинга подпишутся под этим флагом и будут использовать условный рендеринг в каждом из этих компонентов.
Так что ваше состояние редукса может иметь что-то вроде:
showPageContent: false
В каждом из ваших компонентов попросите их подписаться, подключив их и передав mapStateToProps
, например:
const mapStateToProps = (state) => ({
shouldRender: state.showPageContent
})
export default connect(mapeStateToProps)(Sidebar)
Затем в рендере для каждого из ваших компонентов:
render() {
this.state.shouldRender ? <Sidebar> : null
}
OR
render() {
if (this.state.shouldRender) {
<Sidebar>
}
}
Вам потребуется реализовать действие входа в систему, которое установит для флага showPageContent
значение true после успешного входа в систему.
* * Пример 1 022:
https://www.sohamkamani.com/blog/2017/03/31/react-redux-connect-explained/