title: Use action creator to dispatch action in another action creator
body: <p>I'm wondering if there is a pattern that allows you to use action creators inside of other action creators. The modifyMassProperty action creator lets you pass any number of actions which are then iterated over and dispatched accordingly. I would very much like to be able to use this method in the getOrbitalBurn action creator since it would be semantically more appealing than using the dispatch method made available by the thunk three times in a row. I'm confident I must either have missed something, or that I'm guilty of getting tangled up in some sort of anti pattern that I concocted during one of my lesser days.</p>
  
  <pre><code>export const modifyMassProperty = (
    ...massProperties: MassProperty[]
  ): ThunkAction&lt;void, AppState, void, Action&gt; =&gt; (
    dispatch: Dispatch&lt;ScenarioActionTypes&gt;
  ) =&gt;
    massProperties.forEach(massProperty =&gt;
      dispatch({
        type: MODIFY_MASS_PROPERTY,
        payload: massProperty
      })
    );
  
  export const getOrbitalBurn = (
    payload: { primary: string; periapsis: number; apoapsis: number },
    applyBurn = true
  ): ThunkAction&lt;void, AppState, void, Action&gt; =&gt; (
    dispatch: Dispatch&lt;ScenarioActionTypes&gt;,
    getState: any
  ) =&gt; {
    const scenario = getState().scenario;
  
    const primary = getObjFromArrByKeyValuePair(
      scenario.masses,
      'name',
      payload.primary
    );
    const orbit = orbitalInsertion(primary, payload, scenario.g);
  
    if (applyBurn) {
      const [spacecraft] = scenario.masses;
  
      dispatch({
        type: MODIFY_MASS_PROPERTY,
        payload: {
          name: spacecraft.name,
          key: 'vx',
          value: orbit.x
        }
      });
      dispatch({
        type: MODIFY_MASS_PROPERTY,
        payload: {
          name: spacecraft.name,
          key: 'vy',
          value: orbit.y
        }
      });
      dispatch({
        type: MODIFY_MASS_PROPERTY,
        payload: {
          name: spacecraft.name,
          key: 'vz',
          value: orbit.z
        }
      });
    }
  
    dispatch({
      type: MODIFY_SCENARIO_PROPERTY,
      payload: {
        key: 'orbitalInsertionV',
        value: { x: orbit.x, y: orbit.y, z: orbit.z }
      }
    });
  };
  </code></pre>