Radio buttons no React Native, feitos com Pressable

Guia de radio buttons no React Native

Radio button no React Native: grupo acessível, sem biblioteca | We.Inc

O React Native não tem componente radio. Monte um grupo de radio acessível com Pressable, accessibilityRole radio e accessibilityState checked. Prévia ao vivo e código.

O React Native principal não tem componente de radio button; a lista de interface dele tem só Button e Switch. Monte um com Pressable: desenhe um círculo externo e um ponto interno, guarde o valor selecionado no componente pai e dê a cada opção accessibilityRole="radio" mais accessibilityState={{ checked }}. Envolva o conjunto em uma View com accessibilityRole="radiogroup".

Props de acessibilidade para um grupo de radio

Abaixo está uma versão web do mesmo grupo: ela usa os papéis ARIA correspondentes, então as setas do teclado mudam a escolha como em um conjunto de radios do navegador. Embaixo, o painel mostra as props que cada opção teria no React Native para a seleção atual, para você ver o que é informado ao leitor de tela.

Perguntas frequentes

Existe um componente RadioButton no React Native?

Não. A página oficial de componentes lista Button e Switch como os únicos controles de interface, então os radios vêm do seu próprio código com Pressable ou de um kit de UI que você instala.

Como um leitor de tela sabe que meu círculo é um radio button?

Defina accessibilityRole="radio" no Pressable e accessibilityState={{ checked: isSelected }}. A documentação descreve o papel radio como representando um radio button e radiogroup como um grupo deles.

Devo usar role e aria-checked?

Os dois funcionam. O React Native também aceita role="radio" e aria-checked, e a documentação diz que role tem prioridade sobre accessibilityRole quando os dois estão definidos. Escolha um estilo e use no app inteiro.

Radio buttons ou um Switch?

Um Switch serve para uma configuração de ligar e desligar que vale na hora. Radios servem para escolher exatamente uma entre várias opções com nome.

Por que fazer você mesmo

Desenhando o círculo

Código do grupo de radio

Componente RadioGroup

Só componentes principais. O pai passa value e onChange, exatamente como em um TextInput controlado.

Usando em uma tela

O state fica na tela, então a escolha pode ser validada e enviada com o resto de um formulário.

Envio padrão

Envio expresso

Retirar na loja

Prévia do grupo de radio

Forma de entrega

Clique em uma opção ou use as setas do teclado quando o grupo estiver em foco.

Props que cada opção recebe no React Native

Comece grátis · Sem cartão de crédito

Relacionados: Guias

Produto

Para quem é

Recursos

Recursos

Empresa

Mapa do site