These systems aren’t controlled by React, so they are called external. An Effect lets you keep your component synchronized with some external system. such as:
A timer managed with setInterval() and clearInterval().
An event subscription using window.addEventListener() and window.removeEventListener().
Connection to network
some browser API, or
a third-party library, A third-party animation library with an API like animation.start() and animation.reset().