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
Fornirearia-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.