How to Clean up Async Effects in React
Dmitri Pavlutin walks us through properly cleaning up side-effects in React:
From time to time you might have difficulties at the intersection of component lifecycle (initial render, mount, update, unmount) and the side-effect lifecycle (start, in progress, complete).
Tackled are fetch requests, timers like
setTimeout(), debounce or throttle functions, etc.