this is a so called "sideffect". there is
* redux-thunk
besides that's based on your component architecture there are different approaches.
you could for example create a closure
const async DoApiCall(param) {
await doMyPromiseThing.then((responseData) => { return responseData; })
}
that assign it to an internal state of the component. if you use redux usually you should assign it to a store but that means middle ware and event interceptions.
aka sideeffects. I personally use saga but you could use redux observable as well.