May 9
Aplicativo de Envio de Mensagem para WhatsApp
Objetivo: Crie um aplicativo simples em React Native que permita enviar mensagens diretamente para um número de WhatsApp. O usuário deve inserir um número e uma mensagem, e ao clicar em "Enviar mensagem", o aplicativo deve abrir o WhatsApp e direcionar para o número digitado com a mensagem pronta para ser enviada.
Requisitos da Atividade
- Entrada de Dados:
- Um campo para o número de telefone (com pelo menos 11 caracteres e começando com 55).
- Um campo para a mensagem.
- Estrutura dos Componentes:
- Componente Pai: Responsável por gerenciar os estados e a lógica de envio.
- Componente Filho: Responsável por receber os estados do componente pai via props e exibir os campos de entrada.
- Validação:
Passo a Passo para Realizar a Atividade
- Criar o Projeto
- Instalar Dependências Necessárias
- Configurar os Componentes
- Implementar o Componente Filho
- Crie o componente que receberá props do Pai para coletar os dados:
number
(prop): Contém o valor do número.message
(prop): Contém o valor da mensagem.onNumberChange
(callback): Atualiza o estado do número no Pai.onMessageChange
(callback): Atualiza o estado da mensagem no Pai.- Exiba dois campos de entrada:
- Implementar o Componente Pai
- Crie o componente principal que mantém o estado:
- Implemente a lógica para abrir o WhatsApp:
- Verifique se o número começa com
55
e tem pelo menos 11 caracteres. - Construa a URL do WhatsApp utilizando o padrão
https://api.whatsapp.com/send?phone=NUMERO&text=MENSAGEM
. - Use a API
Linking
para abrir o WhatsApp. - Passe os estados e callbacks para o componente filho através das props.
- Adicionar Lógica de Envio no Componente Pai
- No método de envio, verifique se o número começa com
55
e tem pelo menos 11 caracteres. - Utilize a API
Linking
para abrir o WhatsApp. - Estilizar os Componentes
- Testar o Projeto
- Verifique se a mensagem é enviada corretamente ao número de telefone inserido.
- Certifique-se de que a validação funcione corretamente, direcionando para o WhatsApp apenas com números válidos.
- Conclusão
Base no Github
https://github.com/370100961/expo-rn