useRouter
El hook useRouter
es una implementación de un enrutador basado en window.location
. Proporciona funcionalidades similares a las de un enrutador de Next.js, pero utilizando la API nativa del navegador para manejar la navegación.
Importación
Para importar el componente useRouter, se puede hacer desde fenextjs
import { useRouter } from "fenextjs";
window.location
El hook utiliza la API nativa del navegador window.location
para manejar la navegación y el historial.
Nombre | Descripcion | Default |
---|---|---|
pathname | La ruta actual de la URL. | window.location.pathname |
query | Los parámetros de consulta de la URL. | new URLSearchParams(window.location.search) |
hash | El hash de la URL. | window.location.hash |
Returns
Parametro | Tipo | Descripcion |
---|---|---|
asPath | string | La ruta completa actual, incluyendo el pathname, los parámetros de consulta (query) y el hash. |
back | () => void | Navega hacia atrás en el historial del navegador. |
forward | () => void | Navega hacia adelante en el historial del navegador. |
isReady | boolean | Indica si el enrutador está listo. Siempre es true en este hook, ya que window.location está siempre disponible. |
pathname | string | La ruta actual (pathname) de la URL. |
push | (url: string) => void | Navega a una nueva URL y añade una entrada al historial del navegador. |
query | object | Un objeto que contiene los parámetros de consulta (query) de la URL. |
reload | () => void | Recarga la página actual. |
replace | (url: string) => void | Reemplaza la URL actual sin añadir una nueva entrada al historial del navegador. |
route | string | La ruta actual (pathname) de la URL. |
Usos
- Navegar a una nueva URL
const { push } = useRouter();
push("/nueva-ruta");
- Reemplazar la URL actual
const { replace } = useRouter();
replace("/otra-ruta");
- Navegar hacia atrás
const { back } = useRouter();
back();
- Navegar hacia adelante
const { forward } = useRouter();
forward();
- Recargar la página
const { reload } = useRouter();
reload();