Cleaning up after components
In this final section of the chapter, we'll think about cleaning up after components. You don't have to explicitly unmount components from the DOM—React handles that for us. There are some things that React doesn't know about and therefore cannot clean up for us once the component is removed.
It's for these types of circumstance that the componentWillUnmount()
lifecycle method exists. The main use case for cleaning up after React components is asynchronous code.
For example, imagine a component that issues an API call to fetch some data when the component is first mounted. Now, imagine that this component is removed from the DOM before the API response arrives.
Cleaning up asynchronous calls
If your asynchronous code tries to set the state of a component that has been unmounted, nothing will happen. A warning will be logged, and the state isn't set. It's actually very important that this warning is logged; otherwise, we would have a hard time trying to figure subtle...