title: Argument of type 'ThunkAction' is not assignable to parameter of type 'AnyAction'
body: <p>I have set up a redux thunk function with typescript like this:</p>
  
  <pre><code>export const fetchActivities = (): AppThunk =&gt; async dispatch =&gt; {
      dispatch(fetchActivitiesRequest())
  
      try {
          const res = await fetch("/activities")
          const body = await res.json()
  
          dispatch(fetchActivitiesSuccess(body))
      } catch (err) {
          dispatch(fetchActivitiesError(err))
      }
  }
  </code></pre>
  
  <p>AppThunk is simply a type deriving from the ThunkAction type, with the following type params:</p>
  
  <pre><code>export type AppThunk&lt;ReturnType = void&gt; = ThunkAction&lt;ReturnType, {}, null, Action&lt;string&gt;&gt;
  </code></pre>
  
  <p>My issue is, that when i try to setup a unit test for my action, and when I try to dispatch the thunk action like this:</p>
  
  <pre><code>const middlewares = [thunk]
  const mockStore = configureMockStore(middlewares)
  const store = mockStore({ activities: [] })
  
  store.dispatch(actions.fetchActivities())
  </code></pre>
  
  <p>I receive the following error message:</p>
  
  <pre><code>Argument of type 'ThunkAction&lt;void, {}, null, Action&lt;string&gt;&gt;' is not assignable to parameter of type 'AnyAction'.
    Property 'type' is missing in type 'ThunkAction&lt;void, {}, null, Action&lt;string&gt;&gt;' but required in type 'AnyAction'.ts(2345)
  </code></pre>
  
  <p>I have tried searching around for a solution to this issue, though without success. Most suggestions say to try and add an any param to the generic for dispatch, so <code>dispatch&lt;any&gt;(actions.fetchActivities())</code>. While this works to stop the typing error, only the first action in the thunk will get dispatched, while everything within the try and catch statements are ignored.</p>
  
  <p>Does anyone have any suggestions as to how to fix this issue?</p>