Back

El componente Back representa un botón de retroceso que permite al usuario navegar a la página anterior en el historial del navegador, utilizar el Router de Next.js, redirigir a una URL específica, ejecutar una función personalizada o realizar una acción personalizada de 'fenextjs-history'.

Ejemplo

Importación

Para importar el componente Back, se puede hacer desde fenextjs

import { Back } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
loaderbooleannofalseIndica si el componente está en estado de carga, mostrando un indicador de 'Loader' y deshabilitando su funcionalidad.
disabledbooleannofalseIndica si el botón está deshabilitado.
onClick(e?: any) => voidnoundefinedFunción personalizada que se ejecuta al hacer clic en el botón.
iconReactNodeno<SvgPaginationPre />Icono que se muestra dentro del botón.
childrenReactNodeno'Back'Contenido o texto que se muestra dentro del botón.
typeOnBack'fenextjs-history' | 'history' | 'router' | 'link' | 'none'no'history'Define el tipo de acción que se ejecutará al hacer clic en el botón.
linkstringno''URL a la que redirigir si 'typeOnBack' es 'link'.
useHistoryMinLenghtbooleannofalseDetermina si se debe mostrar el botón solo si el historial del navegador tiene una longitud mínima.
minLenghtnumberno2Longitud mínima del historial del navegador para mostrar el botón.
onValidateRuteBack(path: string) => booleannoundefinedFunción para validar el retroceso cuando 'typeOnBack' es 'fenextjs-history'.
classNamestringno''Clase CSS para personalizar el contenedor del botón.
classNameDisabledstringno''Clase CSS para el estado deshabilitado del botón.
classNameIconstringno''Clase CSS para el icono del botón.
classNameContentstringno''Clase CSS para el contenido del botón.
classNameLoaderstringno''Clase CSS para el componente 'Loader'.

Redireccionamiento

Dependiendo del valor de 'typeOnBack', la redirección se ejecutará de la siguiente manera:

Tipo de backRedireccionDescripción
fenextjs-historyonBack({onValidateRuteBack})Acción personalizada utilizando el hook 'useHistory' de 'fenextjs'.
historyhistory.back()Redirección a la página anterior mediante el historial del navegador.
routerrouter.back()Redirección utilizando el router de Next.js.
linkrouter.push(link)Redirección a una URL específica.
noneNinguna acciónNo se realiza ninguna redirección.

NOTA

Para que typeOnBack='fenextjs-history' funcione correctamente debe ser ejecutado useHistory en _app o el layout mas superior que se posea.

import type { AppProps } from "next/app";
import { useHistory } from "fenextjs";
 
export default function App({ Component, pageProps }: AppProps) {
  useHistory({});
  return <Component {...pageProps} />;
}

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Básico
<Back />
  • Back con texto personalizado
<Back>Go Back</Back>
  • Back con acción personalizada
<Back onClick={() => console.log("Botón clickeado")}>Volver</Back>
  • Back deshabilitado
<Back disabled={true} />
  • Back con validación personalizada
<Back
  typeOnBack="fenextjs-history"
  onValidateRuteBack={(path) => path !== "/home"}
/>