Publicado em: 17/03/2025

Au 08 - Mobile - React Native - Criando componentes e estrutura do formulário - Mestres BEGIN


Introdução e Objetivos

Nesta fase inicial, focamos na estruturação básica do formulário de cadastro de produtos, priorizando:

  • Definição dos componentes fundamentais
  • Organização modular do código
  • Preparação para implementação futura de estado e estilização

Arquitetura de Componentes

1AddProductForm (Container Principal)
2    InputPicker (Seleção de categorias)
3    InputText (Campos de texto)
4    ActionButtons (Controles)

Implementação do InputPicker

Componente para seleção de categorias usando @react-native-picker/picker:

1interface InputPickerProps {
2    label: string;
3    items: Array<{ value: string; label: string }>;
4}
5const InputPicker = ({ label, items }: InputPickerProps) => (
6    <View>
7        <Text>{label}</Text>
8        <Picker mode="dialog">
9        {items.map((item) => (
10            <Picker.Item key={item.value} label={item.label} value={item.value} />
11        ))}
12        </Picker>
13    </View>
14);

Implementação do InputText

Componente base para campos de texto:

1interface InputTextProps {
2    label: string;
3    placeholder?: string;
4}
5const InputText = ({ label, placeholder }: InputTextProps) => (
6    <View>
7        <Text>{label}</Text>
8        <TextInput placeholder={placeholder || ""} />
9    </View>
10);

Estrutura do Formulário Principal

1const AddProductForm = () => {
2    const categories = [
3        { value: "eletronicos", label: "Eletrônicos" },
4        { value: "moveis", label: "Móveis" }
5    ];
6    return (
7        <View>
8          <Text>Cadastrar produto</Text>
9          <InputPicker label="Categoria" items={categories} />
10          <InputText label="Marca" placeholder="Ex: Samsung" />
11          <InputText label="Nome do produto" />
12          <Text>X</Text>
13          {/* Botão de fechar temporário */}
14        </View>
15    );
16};

Organização do Projeto

1src/
2    components/  # Componentes reutilizáveis
3        InputPicker/
4        InputText/
5    screens/
6        products/
7            components/  # Componentes específicos
8            AddProductForm/
9        ProductsScreen.tsx

Próximas Etapas

Funcionalidade

  • Gerenciamento de estado dos campos
  • Validação de formulário
  • Conexão com API

Estilo

  • Design responsivo
  • Animações
  • Componente modal

Experiência

  • Feedback visual
  • Tratamento de erros
  • Otimizações de usabilidade

Conceitos Fundamentais

Modularização

Separação clara entre componentes genéricos e específicos

Tipagem

Interfaces TypeScript para props dos componentes

Preparação para Estado

Estrutura pronta para implementação de useState/useReducer

Considerações finais

Esta base sólida permite:

  • Manutenção simplificada
  • Reutilização de componentes
  • Evolução incremental do projeto
Fernando Cunha
Artigo deFernando Cunha

Com mais de 15 anos de experiência em tecnologia e formado pela FAAP em Administração de empresas, hoje é o CEO da Mestres da Web, empresa referência no mercado nacional e com projeções de expansão internacional.

últimos vídeos

veja nossos vídeos mais recentes e esteja por dentro de muitas novidades.

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN
play

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN

Explorando a estrutura gerada pelo Create React App, entendendo o papel das pastas public e src, os conceitos de Virtual DOM, JSX e componentes, além de como o CSS é aplicado nos projetos React.

Autor deste artigo
Fernando Cunha17/03/2025
Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN
play

Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN

Explorando a criação de um layout fixo para a aplicação React, com barra lateral, barra superior e área dinâmica para conteúdo. Utilizando o React Router Dom v6 para gerenciar navegação entre rotas.

Autor deste artigo
Fernando Cunha17/03/2025
Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN
play

Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN

Abordando técnicas para organizar estilos em React, utilizando seletores CSS, CSS Modules, integração com React Router, reset CSS eficiente e boas práticas para garantir consistência visual e manutenibilidade.

Autor deste artigo
Fernando Cunha17/03/2025