Os modais são uma ótima ferramenta para melhorar as interfaces do usuário. Basicamente, um modal é uma tela que aparece acima de outra tela, direcionando a atenção do usuário para obter informações críticas ou orientá-los para a próxima etapa de um processo. Um modal ativo desativa a tela original, que ainda está visível, solicitando que o usuário interaja com a nova.
Neste tutorial, veremos alguns casos de uso prático para modais e melhoraremos nossa compreensão deles criando o seguinte no React Native:
Um modal que é aberto quando um usuário clica em um botão
Um modal reutilizável com componentes filhos
Um modal pop-up que abre quando um usuário navega para uma tela
Você pode encontrar o código-fonte deste projeto em meu GitHub .
Inicialize o projeto
Primeiro, para inicializar o projeto, digite o seguinte código em seu terminal:
expo init nome do projeto && cd nome do projeto && expo start
Se você estiver adicionando o modal a um projeto existente em vez de começar do zero, pule esta etapa, adicione react-native-modal ao seu projeto e selecione o título forte.
Selecione a opção tabs (TypeScript) , que deve ser semelhante ao bloco de código abaixo:
tabs (TypeScript) vários exemplos de telas e guias usando react-navigation e TypeScript
Uma janela do navegador aparecerá com instruções para abrir o projeto Expo. Agora, você pode abrir seu IDE favorito. Se você estiver usando o VS Code, digite code. em seu terminal para abri-lo.
Instalar react-native-modal
react-native-modal é o que você obteria se levasse o componente modal do React Native ao salão de beleza e pedisse uma reforma completa. Ele se baseia no componente modal do React Native, fornecendo belas animações e opções de estilo personalizáveis.
Pressionar o botão chamará handleModal e retornará o estado oposto. Verdadeiro se torna falso e falso se torna verdadeiro.
Modal tem uma propriedade chamada isVisible que aceita um valor booleano. Como passamos isModalVisible para isVisible , o modal sabe quando deve aparecer.
Seu modal concluído será semelhante à imagem abaixo:
Criando um modal reutilizável
O exemplo anterior criou um modal e botões para abri-lo e fechá-lo. Agora que conhecemos essas etapas, vamos construir um modal personalizado e um botão para inicializá-lo.
Vamos começar com um botão simples para abrir e fechar nosso modal. Na pasta components , crie um novo arquivo chamado Button.tsx e adicione o seguinte código:
Exportamos o componente modal original do primeiro exemplo como Modal . Você notou os adereços animação e backdropTransitions ? Esses adereços são o que fornecem o componente modal nativo da reforma de que estou falando.
Para obter uma lista completa dos adereços disponíveis, verifique a documentação .
Componentes filho e notação de ponto
Usando notação de ponto , vamos exportar Modal como um módulo com componentes filhos. Se desejar adicionar um cabeçalho, você pode acessar o componente do cabeçalho com Modal.Header .
ModalHeader aceita uma string no prop title . Modal.Container , Modal.Body e Modal.Footer aceitam filhos. Um componente filho pode ser qualquer coisa que você quiser, como uma imagem, algum texto, botões ou um ScrollView .
Agora que temos um modal e um botão, volte para telas/TabOneScreen . Em apenas duas etapas, vamos juntar tudo.
Importe nosso novo botão e modal alterando as instruções de importação do bloco de código acima para o bloco de código abaixo, respectivamente:
Faça o mesmo para o componente modal na instrução return:
Olá! Concordar em continuar com este guia
O resultado deve ser semelhante à imagem abaixo:
Você pode encontrar todas as alterações no GitHub.
Criando um modal pop-up
Agora, temos um modal que aparece quando mandamos. Vamos adicionar pop-ups que aparecem quando queremos pedir ao usuário para ver ou fazer algo. Para começar, vamos criar um cenário de apelo à ação.
Exemplo
Suponhamos que um usuário deva se inscrever para ter acesso a uma tela específica. Queremos criar uma frase de chamariz se o usuário chegar à tela, mas não estiver inscrito.
Vá para screens/TabTwoScreen e troque o código atual pelo código abaixo:
useEffect é renderizado novamente quando as dependências na matriz de dependência mudam, indicadas por [] . useEffect faz com que o componente Modal apareça quando você navegar para a tela.
Como não passamos nenhuma dependência, useEffect será renderizado apenas uma vez. setTimeout é usado para simular a verificação se o usuário está inscrito:
useEffect (()=> { //verificação falsa para ver se o usuário está inscrito const checkForSubscription=setTimeout (()=> { setIsModalVisible (()=>! isModalVisible); }, 1500); return ()=> clearTimeout (checkForSubscription); //matriz de dependência }, []);
Seu modal deve ser semelhante à imagem abaixo:
Conclusão
Neste tutorial, aprendemos o que são os modais e como funcionam. Em seguida, criamos três modais personalizados que podem melhorar qualquer aplicativo React Native.
Como você pode ver, os modais são uma ótima ferramenta para implementar frases de chamariz. Existem várias outras bibliotecas que funcionam de forma semelhante, como r eact-native-modal-datetime-picker , então vale a pena navegar em npm . Dependendo do seu caso de uso, você pode economizar algum tempo criando um componente personalizado!
Espero que você tenha gostado de aprender sobre modais neste tutorial. Boa programação!
Reconhecidamente, este será um começo lento, mas o Google está lançando dois planos de fundo virtuais incrivelmente legais para o Google Meet no Android e no iOS que permitem aos usuários não apenas alterar seus Read more…
De acordo com o estudo mais recente conduzido pela Chainalysis, usuários involuntários gastaram cerca de US$ 4,6 bilhões em criptomoedas, adquirindo-as em esquemas fraudulentos no ano passado, que resultaram na criação de mais de 1,1 Read more…
O principal mercado de NFT, OpenSea, fez alguns anúncios importantes nas últimas horas. Por meio de sua conta oficial no Twitter, a OpenSea listou várias alterações em sua estrutura de taxas e royalties, que devem Read more…