const response = useApi(url)
а не
const a
useApi(... a=results)
Понимаете в чем проблема. Код - это постоянно исполняющийся механизм. Он не может ждать. Он может лишь перемалывать написанные строчку за строчкой.
Когда вы делаете запрос на сервер, он не может произойти мгновенно. Придется ждать, пока придет ответ. Это время.
JS не умеет ждать. Если для него нет работы сейчас, он идет выполнять следующие строчки кода. В результате он не может сделать то что вы хотите - сразу выдать ответ. Ответ будет, но когда то потом.
А когда ответ будет когда-то потом, то и получать его надо когда то потом, а не сейчас, как вы хотите. Вот чтобы получить ответ когда то потом и придуманы эти всякие промисы , асинки и тд