Не, не пишут так часто как раньше. Сужу по себе. Но у меня и резюме обосрано - 3 компании за два года(на последней год). Хотя опять же, возможно потому, что я джапмер в сленге HR
Ты улетаешь в рендер потому что функции обработчики пересоздаются и юзЕффект это замечает и вызывает findRepos... В котором обновляется стейт и все по новой
Делай другую зависимость
С фронта сделать запрос на бэк, получить данные. Положить их где нибудь в реактовском приложении. Как пример в redux стор или mobx или вообще в стейт положить и оттуда уже шарить на все ваше фронтовое приложение. За бэк подробности не шарю
Так вот же и ответ. Когда происходит isFetching, компонента с юзерами размонтируется. Фетчинг закончился, компонента вмонтировалась и useEffect внутри снова отработал, все работает так, как вы описали