diff --git a/src/authWrapper.js b/src/authWrapper.js index 860ee1b..d76cb93 100644 --- a/src/authWrapper.js +++ b/src/authWrapper.js @@ -21,7 +21,9 @@ export default (args) => { class UserAuthWrapper extends Component { componentDidMount() { - this.props.preAuthAction(); + if (this.props.preAuthAction) { + this.props.preAuthAction(); + } } static displayName = `${wrapperDisplayName}(${displayName})`; diff --git a/src/connectedAuthWrapper.js b/src/connectedAuthWrapper.js index 6cafdcb..9b90d28 100644 --- a/src/connectedAuthWrapper.js +++ b/src/connectedAuthWrapper.js @@ -1,13 +1,13 @@ import { connect } from 'react-redux' - import authWrapper from './authWrapper' + const connectedDefaults = { authenticatingSelector: () => false } export default (args) => { - const { authenticatedSelector, authenticatingSelector } = { + const { authenticatedSelector, authenticatingSelector, preAuthAction} = { ...connectedDefaults, ...args } @@ -16,5 +16,11 @@ export default (args) => { connect((state, ownProps) => ({ isAuthenticated: authenticatedSelector(state, ownProps), isAuthenticating: authenticatingSelector(state, ownProps) + }), (dispatch) => ({ + preAuthAction: () => { + if (preAuthAction) { + dispatch(preAuthAction()) + } + } }))(authWrapper(args)(DecoratedComponent)) }