You may need to think about how you implement asynchronous side effects. Declaring them with useEffect quickly gets annoying. Look for things like thunks or saga. Or when not using Redux, at least think about using async functions.
In general I want to keep async logic out of my components as much as possible. I also don't want the component rendering to drive the async logic.