Au 07 - Mobile - React Native - Criando modal - Mestres BEGIN
Nesta aula, focamos na criação de um componente de modal reutilizável para nosso aplicativo, preparando o terreno para a implementação dos formulários de cadastro de produtos.
Entendendo o Modal Nativo
Exploramos as principais propriedades do modal nativo do React Native:
visible
: Controla a exibição do modal (true/false)transparent
: Define se o fundo é transparenteanimationType
: Tipos de animação (slide, fade, none)statusBarTranslucent
: Específico para Android
Estrutura do Modal Customizado
Criamos o componente CustomModal
com:
1interface Props { children: JSX.Element; }
2 export default function CustomModal({ children }: Props) {
3 return (
4 <Modal transparent animationType="fade">
5 <View style={styles.modalBackground}> {children} </View>
6 </Modal>
7 ); }
Estilização do Modal
Principais estilos aplicados:
1modalBackground: {
2 flex: 1,
3 backgroundColor: "rgba(0,0,0,0.5)",
4 justifyContent: "center",
5 alignItems: "center"
6 }
Esses estilos criam um fundo escuro semi-transparente que ocupa toda a tela e centraliza o conteúdo.
Trabalhando com Children
O poder do children
no React:
- Permite passar qualquer conteúdo JSX para dentro do modal
- Torna o componente altamente reutilizável
- Facilita a composição de interfaces
- TypeScript ajuda a garantir a tipagem correta
Próximos Passos
Na próxima aula vamos:
- Criar o componente de formulário para produtos
- Implementar a lógica de abertura/fechamento do modal
- Validar os campos do formulário
- Conectar com a API para envio dos dados
Considerações Finais
Pontos importantes desta implementação:
- Componentização facilita a reutilização em diferentes partes do app
- TypeScript garante segurança no uso das propriedades
- A animação melhora a experiência do usuário
- O fundo semi-transparente ajuda no foco do conteúdo
Dicas para evolução:
- Considere adicionar um botão de fechar no modal
- Implemente gestos para fechar o modal (swipe down)
- Adicione acessibilidade (focus trapping, leitores de tela)
- Experimente diferentes tipos de animação
Este modal será fundamental para nossa aplicação, servindo como base para todos os formulários e diálogos que implementaremos.