Υλοποιήστε σε TypeScript ένα hook `usePage` που δέχεται ένα URL, φορτώνει τα δεδομένα του χρήστη, επιστρέφει `data`, `loading` και `error`, επαναλαμβάνει το αίτημα κατά την αλλαγή URL και ακυρώνει σωστά το αίτημα κατά την αποσύνθεση του συστατικού ή την αλλαγή URL.