React synchronizes the DOM according to our current props and state. There is no distinction between a “mount” or an “update” when rendering. You should think of effects in a similar way. useEffect lets you synchronize things outside of the React tree according to our props and state.
This is very important when looking at the lifecycle of a react component