Excellent synopsis.
> React complains that you tried to change the state on an unmounted componment.
They actually got rid of that in the new react :)
> handle the double rendering issue when interacting with the DOM directly
I think the idea is whatever they do to the DOM needs to be idempotent. Those should be using useLayoutEffect usually.