Sezioni collapsible e accordion in React Native

Guida a collapsible e accordion in React Native

Collapsible e accordion in React Native, senza librerie | We.Inc

Comprimi ed espandi sezioni in React Native con LayoutAnimation, ruota la freccia con Animated e indica accessibilityState expanded. Anteprima di un accordion dal vivo.

Per comprimere una sezione in React Native, tieni un flag open nello stato e renderizza il corpo solo finché è true. Chiama LayoutAnimation.configureNext prima di cambiare il flag e le view circostanti scivolano nelle nuove posizioni. Dai al Pressable dell'intestazione accessibilityRole="button" e accessibilityState={{ expanded }} così gli screen reader annunciano se è aperta.

Due modi per animare un collapsible

L'accordion qui sotto è il gemello web del codice React Native di questa pagina: stessa forma dello stato, stesso flag expanded su ogni intestazione. Passa dal lasciare aperte più sezioni al consentirne solo una, poi copia la versione adatta alla tua schermata.

Domande frequenti

Come animo una view collapsible in React Native?

Chiama LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut) subito prima del cambio di stato che mostra o nasconde il corpo. Il preset easeInEaseOut dura 300 millisecondi.

Perché LayoutAnimation non fa nulla su Android?

La pagina di LayoutAnimation dice che Android richiede UIManager.setLayoutAnimationEnabledExperimental(true), chiamato solo se quella funzione esiste. Eseguilo una volta all'avvio dell'app, prima della prima modifica animata.

Posso animare l'altezza con Animated e il native driver?

No. La documentazione React Native limita il native driver alle proprietà non di layout come transform e opacity, quindi valori di layout come height sono esclusi. Anima l'altezza senza il native driver, oppure usa LayoutAnimation.

Come fanno gli screen reader a sapere che una sezione è aperta?

Imposta accessibilityState={{ expanded: isOpen }} sull'intestazione, oppure la prop aria-expanded. La documentazione descrive expanded come l'indicazione se un elemento espandibile è attualmente espanso o compresso.

Accordion o sezioni indipendenti

Mantenere la fluidità

Codice del collapsible

Sezione collapsible con LayoutAnimation e una freccia che ruota

Il corpo viene montato solo quando è aperto. La freccia gira con il native driver perché la rotazione è un transform.

Accordion: una sola sezione aperta alla volta

Un singolo id nello stato. Premere di nuovo la sezione aperta lo imposta a null e la chiude.

Quando verrà spedito il mio ordine?

Gli ordini effettuati prima di mezzogiorno partono in giornata. Ricevi un link di tracciamento via email non appena il pacco viene scansionato.

Posso restituire un articolo?

Gli articoli non usati possono essere resi entro 30 giorni. Avvia il reso dalla schermata dell'ordine e stampa l'etichetta.

Come cambio il mio indirizzo?

Apri Account, poi Indirizzi. Le modifiche valgono per gli ordini non ancora spediti.

Anteprima dell'accordion

Domande di assistenza d'esempio di un negozio inventato, per mostrare il comportamento.

Solo una aperta

Più aperte

Comportamento di apertura

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito