title: Actions may not have an undefined "type" property - React-Native/Redux
body: <p>I am receiving the <code>Actions may not have an undefined "type" property. Have you misspelled a constant?</code> error from all actions within the <code>RecommendationItemActions.js</code> actions file.</p>
  
  <p><a href="https://i.stack.imgur.com/AUNs3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/AUNs3.png" alt="enter image description here"></a></p>
  
  <p>This issue occurs with both exports contained within.</p>
  
  <pre><code>import firebase from 'firebase';
  import {} from 'redux-thunk';
  
  import {
    RECOMMENDATION_ITEM_UPDATE,
    RECOMMENDATION_ITEMS_FETCH_SUCCESS
  } from './types';
  
  export const recommendationItemUpdate = ({ prop, value }) =&gt; {
    //ex. Want to change name? Send in prop [name] and value [ what you want the new name to be ]
    return {
      type: RECOMMENDATION_ITEM_UPDATE,
      payload: { prop, value }
    };
  };
  
  
  export const recommendationItemsFetch = () =&gt; {
    const { currentUser } = firebase.auth();
  
    return (dispatch) =&gt; {
      firebase.database().ref(`/users/${currentUser.uid}/recommendationItems`)
      //snapshot is the value found
      //snapshot is an object that describes what data is there
        .on('value', snapshot =&gt; {
          console.log(snapshot.val());
          dispatch({
            type: RECOMMENDATION_ITEMS_FETCH_SUCCESS,
            payload: snapshot.val()
          });
          //snapshot.val() is the actual data at snapshot
        });
    };
  };
  </code></pre>
  
  <p>These <code>types</code> are clearly defined within the imported <code>type.js</code> file</p>
  
  <pre><code>export const RECOMMENDATION_ITEMS_FETCH_SUCCESS = 'recommendation_items_fetch_success';
  export const RECOMMENDATION_ITEM_UPDATE = 'recommendation_item_update';
  </code></pre>
  
  <p>The Actions are exported via the <code>index.js</code> file in the <code>actions</code> folder</p>
  
  <pre><code>export * from './RecommendationItemActions';
  </code></pre>
  
  <p>They are imported within the <code>RecommendationItemCreate.js</code> file</p>
  
  <pre><code>import React, { Component } from 'react';
  import { connect } from 'react-redux';
  import { Text, Image, View } from 'react-native';
  import { recommendationItemUpdate, recommendationItemCreate } from '../../actions';
  import { CardSection, Input, Button } from './../common';
  import GooglePlacesAutocomplete from './../googlePlaces/GooglePlacesAutocomplete';
  </code></pre>
  
  <p>And referenced within the <code>onChangeText</code> of my <code>Input</code> component</p>
  
  <pre><code>  &lt;Input
      label="ADDRESS"
      placeholder="Address"
      value={this.props.formattedAddress}
      onChangeText={
        value =&gt; this.props.recommendationItemUpdate({ prop: 'formattedAddress', value })
      }
    /&gt;
  </code></pre>
  
  <p>I can not trace any error that would lead to the <code>Actions may not have an undefined "type" property</code> and have been banging my head against this for a couple days now. The <code>type</code> is clearly defined and can be accurately traced throughout it's usage.</p>
  
  <p><strong>Closest Reference Found</strong>
  <code>React+Redux - Uncaught Error: Actions may not have an undefined “type” property</code> </p>
  
  <p>This was still unhelpful. Here is my createStore as reference:</p>
  
  <pre><code>import React, { Component } from 'react';
  import { Provider } from 'react-redux';
  import { createStore, applyMiddleware } from 'redux';
  import firebase from 'firebase';
  import ReduxThunk from 'redux-thunk';
  import reducers from './reducers';
  import Router from './Router';
  
  class App extends Component {
    componentWillMount() {
      const config = {
        REMOVED FOR EXAMPLE
      };
      firebase.initializeApp(config);
    }
  
    render() {
      const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
      //applyMiddleware is a store-enhancer - it adds additional functionality
      //to store
  
      return (
        &lt;Provider store={store}&gt;
          &lt;Router /&gt;
        &lt;/Provider&gt;
      );
    }
  }
  
  export default App;
  </code></pre>