<link rel="icon">, если такого элемента нет - /favicon.ico, всё.)
state у тебя never[]- т.е. массив без типа, в который нельзя положить ничего.const [data, setData] = useState<Data[]>([]);data, то он будет запускаться каждый раз как изменилась data, а data будет меняться каждый раз как он запущен. Т.е. получится бесконечная рекурсия. data.url я туда поставил, потому что это обычное поведение - меняется адрес запроса - делаем его, однако если url всегда один, то, конечно, стоит его от-туда убрать. useEffect с пустым массивом сработает один раз - при старте компонента.