title: React Redux - Is adding async method in a Reducer an anti pattern?
body: <p>I'm pretty new to the whole react-native / redux world, so maybe this question will sound dumb :)</p>
  
  <p>I know that for an API call, or stuff like that, the convention is to use middleware, but is it always necessary? (It adds a lot of boilerplate). </p>
  
  <p>I succefully added an async method in a reducer to manage a device API connection, such as In-App or Local Notifications, but I wonder if it is ok to handle it this way. </p>
  
  <p>For instance, in my reducer there is this method: </p>
  
  <pre><code>function initInApp(state, itemSkus){
    init(state, itemSkus);
    return {
      ...state,
      itemSkus: itemSkus,
    }
  }
  </code></pre>
  
  <p>And this one, which manage the async part:</p>
  
  <pre><code>async function init(state, itemSkus){
    try {
      if( !state.isInit ){
        const prepare = await Promise.all(RNIap.prepareAndroid());
        return{
          ...state,
          isInit: true,
          errorCode: false,
        }
      }
      else {
         return ...state;
      }
    } catch (errorCode) {
      return{
        ...state,
        isInit: false,
        errorCode: errorCode,
        itemSkus: itemSkus
      }
    }
  }
  </code></pre>
  
  <p>Maybe it's not efficient in terms of performances or hard to maintain..What are your thoughts on this?</p>
  
  <p>Thanks :)</p>