title: connect redux function is not working with react-native
body: <p>I'm trying to configure redux with react-native I face an error called undefined is not a function when try to call an action from my component , 
  It seems that action() function is not called correctly , I can't access state as prop inside the form component. <br>
  This is my code : </p>
  
  <p><strong>index.android.js</strong> </p>
  
  <pre><code>  import React, { Component } from 'react';
    import { Provider } from 'react-redux';
    import { createStore, applyMiddleware } from 'redux';
    // import ReduxThunk from 'redux-thunk';
    import reducers from './src/reducers';
    import { Form } from './src/components/Form';
    import { AppRegistry } from 'react-native';
  
    export class App extends Component {
  
      componentWillMount() {
        //here we will handle firebase sutup process for the authntication purpose . 
      }
  
      render() {
        const store = createStore(reducers);
        return (
          &lt;Provider store={store}&gt;
              &lt;Form /&gt;
          &lt;/Provider&gt;
        );
      }
    }
  
    const styles = {
      main: {
        flex: 1,
        flexDirection: 'column',
        justifyContent: 'flex-start',
      }
    };
  
    AppRegistry.registerComponent('test', () =&gt; App);
  </code></pre>
  
  <p><strong>Form.js</strong></p>
  
  <pre><code> import React, { Component } from "react";
   import { connect } from "react-redux";
   import { bindActionCreators } from "redux";
   import { Image } from "react-native";
   import { emailChanged } from "../actions";
   import {
  Container,
  ContainerSection,
  Button,
  Input
  } from ".././components/common";
  
  export class Form extends Component {
  onEmailChange(text) {
      //call the action creator for the email
      this.props.emailChanged(text);
  }
  
  onPasswordChange(text) {
      //call the action creator for the password
  }
  
  onButtonPress() {
      //do something
  }
  
  renderButton() {
      return &lt;Button onPress={this.onButtonPress.bind(this)}&gt;Log in&lt;/Button&gt;;
  }
  
  render() {
      return (
          &lt;Container&gt;
              &lt;ContainerSection&gt;
                  &lt;Image source={require("../../images/logo.png")} /&gt;
              &lt;/ContainerSection&gt;
              &lt;ContainerSection&gt;
                  {/* email input  */}
                  &lt;Input
                      label="Email"
                      placeholder="email@gmail.com"
                      value={this.props.email}
                      onChangeText={this.onEmailChange.bind(this)}
                      keyboardType="email-address"
                  /&gt;
              &lt;/ContainerSection&gt;
              &lt;ContainerSection&gt;
                  {/* password input  */}
                  &lt;Input
                      label="password"
                      placeholder="password"
                      value={this.props.password}
                      onChangeText={this.onPasswordChange.bind(this)}
                      secure
                  /&gt;
              &lt;/ContainerSection&gt;
              &lt;ContainerSection&gt;{this.renderButton()}&lt;/ContainerSection&gt;
          &lt;/Container&gt;
      );
  }
  }
  
  const mapStateToProps = state =&gt; {
  return {
      email: state.auth.email,
      password: state.auth.password
  };
  };
  
  function mapDispatchToProps(dispatch) {
  return bindActionCreators({ emailChanged }, dispatch);
  }
  
  export default connect(
  mapStateToProps,
  mapDispatchToProps
  )(Form);
  </code></pre>
  
  <p><strong>index.js (inside actions folder )</strong></p>
  
  <pre><code>    import { EMAIL_CHANGED, PASSWORD_CHANGED } from './types';
      //it is an action creator 
      export const emailChanged = (text) =&gt; {
          return {
              type: EMAIL_CHANGED, 
              payload: text
          };
      };
  
      //it is an action creator 
      export const passwordChanged = (text) =&gt; {
          return {
              type: PASSWORD_CHANGED, 
              payload: text 
          };
      };
  </code></pre>
  
  <p><strong>index.js(inside reducers folder)</strong></p>
  
  <pre><code>import { combineReducers } from 'redux';
  import AuthReducer from './AuthReducer';
  
  export default combineReducers({
      auth: AuthReducer
      //   employeeForm: EmployeeFormReducer,
      //   employees: EmployeeReducer
  });
  </code></pre>
  
  <p><strong>AuthReducer.js</strong></p>
  
  <pre><code>  import {
        EMAIL_CHANGED,
        PASSWORD_CHANGED
      } from '../actions/types';
  
    const INITIAL_STATE = {
        email: '',
        password: ''
      };
  
    export default (state = INITIAL_STATE, action) =&gt; {
        switch (action.type) {
          case EMAIL_CHANGED:
            return { ...state, email: action.payload };
          case PASSWORD_CHANGED:
            return { ...state, password: action.payload };
          default:
            return state;
        }
      };
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/r7txt.png" rel="noreferrer"><img src="https://i.stack.imgur.com/r7txt.png" alt="This is the error returned "></a></p>