diff --git a/src/containers/common/logged_in_required.js b/src/containers/common/logged_in_required.js new file mode 100644 index 0000000..9a3918a --- /dev/null +++ b/src/containers/common/logged_in_required.js @@ -0,0 +1,27 @@ +// @flow +import { connect } from 'react-redux'; +// import { bindActionCreators } from 'redux'; +import MESSAGES from '../../messages'; + + +function mapStateToProps(state: Object): Object { + return {}; +} + +function mapDispatchToProps(dispatch: Function): Object { + return { + // someActions: bindActionCreators(someActions, dispatch), + }; +} + +export default function loggedInRequired(WrappedComponent: any) { + class loggedInRequiredWrappedComponent extends WrappedComponent { + componentWillMount() { + // if (!this.state.storeState.session.foobar) { + if (true) { + console.log(MESSAGES.LOG_IN_CHECK); + } + } + } + return connect(mapStateToProps, mapDispatchToProps)(loggedInRequiredWrappedComponent); +} diff --git a/src/containers/home_container.js b/src/containers/home_container.js index 69b5eec..fb5accb 100644 --- a/src/containers/home_container.js +++ b/src/containers/home_container.js @@ -1,6 +1,8 @@ // @flow import React, { Component } from 'react'; import { connect } from 'react-redux'; +import { compose } from 'redux'; +import loggedInRequired from './common/logged_in_required'; function mapStateToProps(state: Object): Object { return {}; @@ -21,4 +23,9 @@ class HomeContainer extends Component { } } -export default connect(mapStateToProps, mapDispatchToProps)(HomeContainer); +HomeContainer = compose( + loggedInRequired, + connect(mapStateToProps, mapDispatchToProps), +)(HomeContainer) + +export default HomeContainer; diff --git a/src/messages.js b/src/messages.js index 7e65311..6c493ef 100644 --- a/src/messages.js +++ b/src/messages.js @@ -1,6 +1,7 @@ // @flow const MESSAGES = { OFFLINE_NOTIFICATION: 'オフラインです', + LOG_IN_CHECK: 'ログインチェックを行いました', }; export default MESSAGES;