No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Actions y Backgrounds

15/21
Recursos

¿Qué son y cómo configurar los plugins actions y backgrounds en Storybook?

En el fascinante mundo del desarrollo front-end, es fundamental asegurarse de que los componentes se comporten como se espera bajo diferentes escenarios. ¿Y qué mejor manera de lograr eso que mediante el uso de Storybook y sus poderosos addons? En esta guía, desglosaremos dos de los complementos esenciales de Storybook: "actions" y "backgrounds". Estos addons no solo te permitirán simular eventos como clics en botones, sino también visualizar cómo tus componentes se ven con diferentes fondos de pantalla. ¡Vamos a descubrir cómo configurarlos!

¿Cómo configurar el addon actions para capturar eventos?

El primer paso en la configuración de "actions" es asegurarse de que puedas monitorear cuando los usuarios interactúan con tu componente. Por ejemplo, si quieres detectar si un botón es presionado, sigue estos pasos:

  1. Agregar el Event Listener en el Componente: En tu archivo JavaScript, usa el método addEventListener para escuchar el evento deseado, como el clic.

    button.addEventListener('click', onClick);
    
  2. Definir el Evento en la Historia: En tu archivo de historia en Storybook, en la sección correspondiente, define el evento como un argumento para que puedas monitorearlo en el panel de "actions".

    export const MyButtonStory = () => <Button onClick={action('clicked')} />;
    
  3. Monitorear el Evento en el Storybook: Al abrir la sección de "actions" en tu Storybook, podrás verificar si el evento de clic es capturado al interactuar con el botón.

¿Cómo manejar eventos de movimientos del mouse?

Además del clic, puedes querer capturar eventos más sutiles como el paso del mouse sobre el componente. Aquí te explicamos cómo:

  1. Configurar el Capturador de Eventos del Mouse: Escribe en el archivo de historia para detectar eventos de movimiento como mouseOver.

    parameters: {
      actions: {
        handles: ['mouseover']
      }
    }
    
  2. Verificar en Storybook: Al pasar el mouse sobre el componente, Storybook debería capturar y mostrar estos eventos en el panel de "actions".

¿Cómo gestionar los backgrounds para diferentes escenarios visuales?

En el diseño de interfaces, el contexto visual es crucial. Por eso, el addon "backgrounds" permite cambiar el fondo de tus componentes para simular cómo se verían en distintos escenarios, por ejemplo, durante un Black Friday.

  1. Configurar los Backgrounds en la Historia: Define los fondos utilizando parámetros y valores específicos.

    parameters: {
      backgrounds: {
        default: 'Black Friday',
        values: [
          { name: 'Black Friday', value: '#000' },
          { name: 'Default', value: '#fff' }
        ],
      },
    }
    
  2. Verificar el Cambio en Storybook: Al cambiar entre fondos en Storybook, podrás ver cómo se adaptan los estilos del componente. Ten en cuenta que colores del texto u otros elementos podrían necesitar ajustes (por ejemplo, bordes negros en fondos negros).

¿Por qué es importante personalizar los backgrounds y actions?

  • Simulación de Escenarios Reales: Los fondos personalizados te ayudan a ver cómo tus componentes se integran en contextos visuales variados, permitiéndote ajustar diseño y funcionalidad.

  • Mejor Experiencia de Usuario: Al detectar y responder a eventos como clics o movimientos del mouse, garantizas una interfaz más interactiva y funcional.

El uso efectivo de estos addons de Storybook no solo optimiza el flujo de trabajo sino que también garantiza calidad y coherencia en la experiencia del usuario. Ahora que tienes las herramientas y conocimientos necesarios, explora estos complementos y personaliza tus proyectos para destacar entre la competencia. ¡Sigue aprendiendo y configurando tus historias en Storybook para mejorar tus habilidades de desarrollo front-end!

Aportes 4

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Le comparto mi progreso. 😃

![](https://static.platzi.com/media/user_upload/image-c864e494-8566-4762-9f56-330388004218.jpg)Si está trabajando con REACT y un renderizado personalizado, (como en mi caso), no olvide pasar el metodo que dispara el evento al componente. *Parece obvio*, pero me tomó un par de horas enteder lo que pasaba... :-)
Para quienes no les funcione el "mouseover" event, tienen que agregar esto al código: 1- el import al withActions 2- withActions como argumento entre el } y el ] del cierre de decorators ```js import { createButton } from "./button"; import ButtonDocumentation from './button.md' import { withActions } from '@storybook/addon-actions/decorator'; export default { title: "Design System/Atoms/Button", decorators: [(story) => { const decorator = document.createElement('div') decorator.style.margin = '24px' decorator.appendChild(story()) return decorator }, withActions], parameters: { ..... etc etc ```
Y si quisiera cambiarle el color del hover al botón para que también se pueda ver en un fondo oscuro, cómo se haría? Pero sin perder el color default negro original