If you dispatch multiple actions when cognito.state is LOGGING_IN, performLogin is going to be called a number of times equal to the number of actions dispatched.
This happens because the enable function is subscribed to the store and it runs every time an action is dispatched. The, identityPoolLogin is going to be called multiple times and the validation state.cognito.state === CognitoState.LOGGING_IN can be true for a few milliseconds, thus performing login multiple times