Resumen
ReactionButton compone Button en una reacción con emoji compacta con un recuento. Tu aplicación proporciona el estado presionado, el nombre accesible y el controlador de cambios.
”Uso”
Apariencia
El control tiene 24px de alto, esquinas redondeadas, un emoji de 16px y un recuento pequeño. Las reacciones presionadas usan la superficie y el texto de acento del tema. Las reacciones no presionadas usan una superficie transparente y texto secundario.count acepta un número o una cadena con formato del llamador. Tu aplicación se encarga del formato y la abreviación de números, y de si se muestra una reacción con un recuento de cero.
Propiedad del estado
pressed es obligatorio y lo controla tu aplicación. La activación llama a onPressedChange con el siguiente valor solicitado. El componente sigue mostrando los valores proporcionados de pressed y count hasta que tu aplicación los actualiza.
Establece loading mientras haya una mutación pendiente para mostrar el indicador de carga de Button y evitar activaciones repetidas. Conserva el valor proporcionado de pressed y marca el control como ocupado. Usa disabled cuando la reacción no esté disponible. La selección, los recuentos, los permisos, la persistencia y cualquier actualización optimista permanecen en la aplicación.
El onClick nativo se ejecuta antes de la solicitud de cambio. Llamar a event.preventDefault() en ese controlador cancela la solicitud. Otros atributos, controladores, estilos, nombres de clase y refs del botón nativo se transfieren al botón. El control siempre usa type="button".
Accesibilidad y descripciones emergentes
Proporcionaaria-label o aria-labelledby con un nombre de reacción localizado. El emoji y el recuento son decorativos y están ocultos para la tecnología de asistencia, así que incluye información sobre el recuento o los participantes en el nombre o la descripción proporcionados cuando sea necesario. Mantén estable el nombre de la reacción a medida que cambia su estado; aria-pressed comunica la selección.
El botón nativo admite el foco mediante Tab y la activación con Intro o Espacio. Tanto disabled como loading impiden la activación. La ref apunta al botón nativo.
Compón Tooltip para los detalles de los participantes al pasar el cursor y al recibir el foco del teclado, como se muestra arriba, o pasa un title nativo. El contenido de la descripción emergente pertenece al llamador y no reemplaza el nombre accesible. Las etiquetas accesibles largas no amplían el control visible.
”Props”
string
Accessible name describing the reaction. Required unless
aria-labelledby supplies the name.string
ID of the element supplying the accessible name. Can be used instead of
aria-label.string | number
requerido
Displayed count. Pass a string for localized or abbreviated formatting. Hidden from assistive technology.
boolean
predeterminado:"false"
Disables the native button and prevents activation.
string
requerido
Emoji displayed beside the count. Hidden from assistive technology.
boolean
predeterminado:"false"
Shows a loading indicator, sets
aria-busy, and prevents activation without changing the supplied pressed state.MouseEventHandler<HTMLButtonElement>
Native click handler called before
onPressedChange. Calling preventDefault() cancels the change request.(pressed: boolean) => void
requerido
Requests the next pressed state after activation. The caller updates
pressed and count.boolean
requerido
Controlled selection state. Sets the selected appearance and
aria-pressed.string
Optional native tooltip text supplied by the caller.