El componente AsyncLink proporciona una forma de navegar a una nueva página o ruta, pero solo después de completar ciertas tareas o verificaciones. Puede utilizarlo para controlar cuándo y si el usuario es redirigido en función de condiciones u operaciones específicas.
Utilice el componente AsyncLink para lo siguiente:
Verificar las acciones del usuario, como comprobar que un formulario se haya enviado correctamente antes de pasar a una nueva página.
Cargar datos y garantizar que los datos importantes para la página siguiente se carguen antes de la navegación.
Completar tareas, como guardar las acciones del usuario, rastrear el comportamiento del usuario, solicitar confirmación del usuario o guardar el estado actual antes de redirigirlo.
No utilice el componente AsyncLink para lo siguiente:
Navegación inmediata. Si se necesita una navegación inmediata sin condiciones previas ni verificaciones, evite usar el enlace asíncrono. En cambio, utilice el ](pathname://es/link.mdx)componente de enlace[.
Navegación sencilla. Si la navegación no implica ninguna tarea asincrónica, como la carga de datos o las acciones del usuario, el uso de un enlace asíncrono puede introducir una complejidad innecesaria. En cambio, utilice el ](pathname://es/link.mdx)componente de enlace[.
AsyncLink muestra un indicador de carga mientras se recupera el contenido. Consta de 3 puntos intermitentes. El indicador de carga garantiza que los usuarios estén al tanto de la actividad en curso.
AsyncLink maneja los errores mediante la presentación de un mensaje de error o una interfaz de usuario de respaldo cuando es necesario. Tras finalizar correctamente, se actualiza para mostrar el contenido recuperado.
Este componente de Jutro ha sido validado para cumplir con las pautas de accesibilidad de WCAG 2.2 AA en su configuración base predeterminada. Esto incluye garantizar que se cumpla lo siguiente:
La relación de contraste de los elementos textuales con respecto a su fondo es superior a 4,5:1.
El contenido no textual que debe transmitir significado (como íconos e indicadores de foco) tiene una relación de contraste de al menos 3:1 con sus colores adyacentes.
El elemento se puede operar con teclado, así como con mouse.
Se puede acceder al contenido mediante lectores de pantalla, como JAWS y VoiceOver.
El cumplimiento de los criterios de accesibilidad depende, en última instancia, de cómo se implementa y personaliza este componente. Los cambios realizados por el autor del contenido pueden afectar la accesibilidad. Para obtener más información sobre nuestro modelo de responsabilidad compartida, revise nuestra declaración completa sobre accesibilidad de Jutro.
Siga las instrucciones a continuación cuando utilice este componente en sus aplicaciones:
Asegúrese de que los cambios de color alcancen el umbral requerido de 4,5:1.
Asegúrese de que los lectores de pantalla transmitan el estado de carga y cualquier mensaje de error.
Evite usar palabras y frases como “Haga clic aquí” o “aquí” como texto del enlace. En cambio, cree texto de enlace significativo que tenga sentido por sí mismo.
Asegúrese de comprender la superficie de la API de componentes del sistema de diseño, así como sus implicaciones, ventajas y desventajas. Obtenga más información en nuestra introducción a la API de componentes.
En este ejemplo, se muestra el uso básico del componente AsyncLink. Al hacer clic en el enlace, la devolución de llamada de propiedad onTrigger puede devolver true, false o una promesa. En este ejemplo, muestra el mensaje asignado, “Espere...”, y después de dos segundos este mensaje desaparece y muestra el texto “Enviado”.
Se introdujo una nueva característica de opción de participación que desactiva la publicación automática de eventos para el componente AsyncLink. Puede habilitar esta función agregando JUTRO_DISABLE_AUTO_EVENTS_PUBLISHING=true al archivo .env en la raíz de su aplicación de Jutro. Cuando esta acción está habilitada, los componentes heredados ya no publican eventos de forma predeterminada. Para obtener más información sobre los eventos y cómo configurar nuevos, consulte la documentación sobre eventos.