Що насправді задає масив залежностей useEffect?
Він каже React, які значення читає ефект, щоб ефект перезапускався лише за їхньої зміни. Порожній масив означає один запуск після монтування; відсутність масиву взагалі — запуск після кожного рендера, і саме так починаються нескінченні цикли. Пропустити використовуване значення — друга помилка: ефект замикається на застарілому значенні й користується ним вічно.