Vai al contenuto principale

Panoramica

ReactionButton compone Button in una reazione emoji compatta con un conteggio. L’applicazione fornisce lo stato premuto, il nome accessibile e il gestore delle modifiche.

Utilizzo

Aspetto

Il controllo è alto 24px, con angoli arrotondati, un’emoji da 16px e un piccolo conteggio. Le reazioni premute usano la superficie di accento e il testo del tema. Le reazioni non premute usano una superficie trasparente e testo secondario. count accetta un numero o una stringa formattata dal chiamante. L’applicazione gestisce la formattazione e l’abbreviazione dei numeri, nonché la scelta di visualizzare una reazione con conteggio zero.

Gestione dello stato

pressed è obbligatorio ed è controllato dall’applicazione. L’attivazione chiama onPressedChange con il valore successivo richiesto. Il componente continua a mostrare i valori pressed e count forniti finché l’applicazione non li aggiorna. Impostare loading mentre una mutazione è in sospeso per mostrare l’indicatore di caricamento di Button e impedire attivazioni ripetute. Mantiene il valore pressed fornito e contrassegna il controllo come occupato. Usare disabled quando la reazione non è disponibile. La selezione, i conteggi, le autorizzazioni, la persistenza e gli eventuali aggiornamenti ottimistici restano nell’applicazione. Il onClick nativo viene eseguito prima della richiesta di modifica. La chiamata a event.preventDefault() in quel gestore annulla la richiesta. Altri attributi, gestori, stili, nomi di classe e ref nativi del pulsante vengono passati al pulsante. Il controllo usa sempre type="button".

Accessibilità e descrizioni comando

Fornire aria-label o aria-labelledby con un nome di reazione localizzato. L’emoji e il conteggio sono decorativi e nascosti alla tecnologia assistiva, quindi, quando necessario, includere le informazioni sul conteggio o sui partecipanti nel nome o nella descrizione forniti. Mantenere stabile il nome della reazione quando il suo stato cambia; aria-pressed comunica la selezione. Il pulsante nativo supporta lo stato attivo con Tab e l’attivazione con Invio o Spazio. Sia disabled sia loading impediscono l’attivazione. Il ref punta al pulsante nativo. Comporre Tooltip per i dettagli sui partecipanti al passaggio del mouse e quando riceve lo stato attivo da tastiera, come mostrato sopra, oppure passare un title nativo. Il contenuto della descrizione comando appartiene al chiamante e non sostituisce il nome accessibile. Le etichette accessibili lunghe non ingrandiscono il controllo visibile.

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
obbligatorio
Displayed count. Pass a string for localized or abbreviated formatting. Hidden from assistive technology.
boolean
predefinito:"false"
Disables the native button and prevents activation.
string
obbligatorio
Emoji displayed beside the count. Hidden from assistive technology.
boolean
predefinito:"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
obbligatorio
Requests the next pressed state after activation. The caller updates pressed and count.
boolean
obbligatorio
Controlled selection state. Sets the selected appearance and aria-pressed.
string
Optional native tooltip text supplied by the caller.