используйте это useEffect(() => ,[])
вместо useEffect(() => )
проблема в том, что вы вызываете setState внутри useEffect, и каждый раз, когда происходит повторный рендеринг, он вызывает повторный запуск useEffect, снова вызывает setState и вызывает снова используйтеEffect, и он снова вызывает setState и ........... он продолжается вечно. поэтому, чтобы ограничить это, вы должны поместить [зависимость] в конец хука useEffect. управлять тем, когда срабатывает вызов useEffect, или вы можете управлять им, помещая предложение If внутри useEffect, чтобы не запускать сетевой вызов снова.