Esta aplicação de Lista de Tarefas permite aos usuários adicionar, remover e editar tarefas. Foi construída utilizando React, uma biblioteca JavaScript popular para a construção de interfaces de usuário. A aplicação é composta por vários componentes que trabalham juntos para fornecer a funcionalidade desejada.
- React: Biblioteca JavaScript para construção de interfaces de usuário.
- CSS: Utilizado para estilizar a interface.
- JavaScript: Linguagem de programação utilizada para a lógica da aplicação.
O projeto é dividido em vários componentes:
- App.js: Componente principal que gerencia o estado da lista de tarefas.
- ContainerAdicionarTarefa.js: Componente para adicionar e editar tarefas.
- ContainerItens.js: Componente que lista todas as tarefas.
- ListaTarefa.js: Componente individual para cada tarefa na lista.
Função:
- Gerencia o estado da aplicação e coordena a interação entre os componentes filhos.
- Utiliza
useState
para gerenciar o estado da lista de tarefas (listaTarefa
) e a tarefa atualmente sendo editada (tarefaParaEditar
).
Principais Funções:
removerItem(item)
: Remove uma tarefa da lista.adicionarItem(item)
: Adiciona uma nova tarefa ou edita uma tarefa existente.iniciarEdicao(item)
: Define a tarefa que está sendo editada e mostra o campo de input para edição.
Função:
- Lida com a adição e edição de tarefas.
Principais Funções e Hooks:
useState
para gerenciar o valor do input (novaListaTarefa
).useEffect
para preencher o campo de input com a tarefa atual quando o usuário está editando uma tarefa.event(e)
: Atualiza o estado com o valor do input.esconderDive()
: Esconde o campo de input após adicionar ou editar uma tarefa.adicionarNovaTarefa()
: Adiciona ou edita uma tarefa e oculta o campo de input.
Função:
- Lista todas as tarefas e passa as funções de remoção e edição para cada tarefa.
Principais Props:
ItensTarefa
: Array de tarefas a serem exibidas.removerItem
: Função para remover uma tarefa.iniciarEdicao
: Função para iniciar a edição de uma tarefa.
Função:
- Representa uma tarefa individual e permite a edição ou remoção da mesma.
Principais Funções:
mostrarDive()
: Exibe o campo de input para adicionar ou editar uma tarefa.- Ícone de edição: Chama
iniciarEdicao
com a tarefa atual. - Ícone de remoção: Chama
removerItem
com a tarefa atual.
-
Adição de Tarefas:
- O usuário digita uma nova tarefa no campo de input no
ContainerAdicionarTarefa.js
. - Ao clicar no botão "Adicionar", a tarefa é adicionada à lista gerenciada pelo
App.js
.
- O usuário digita uma nova tarefa no campo de input no
-
Edição de Tarefas:
- O usuário clica no ícone de edição em uma tarefa listada no
ListaTarefa.js
. - A tarefa é carregada no campo de input no
ContainerAdicionarTarefa.js
. - O usuário pode modificar a tarefa e clicar em "Editar" para atualizar a tarefa existente.
- O usuário clica no ícone de edição em uma tarefa listada no
-
Remoção de Tarefas:
- O usuário clica no ícone de lixeira em uma tarefa listada no
ListaTarefa.js
. - A tarefa é removida da lista gerenciada pelo
App.js
.
- O usuário clica no ícone de lixeira em uma tarefa listada no
- CSS: Utilizado para estilizar os componentes e melhorar a interface do usuário.
- Componentização: A aplicação é dividida em componentes reutilizáveis, tornando-a modular e fácil de manter.
- React Hooks: Utilizados para gerenciar estado e efeitos colaterais, proporcionando uma abordagem declarativa e eficiente.
Esta aplicação de Lista de Tarefas é um exemplo simples e eficiente de como utilizar React para construir uma interface de usuário interativa. A estrutura de componentes facilita a manutenção e extensão do código, enquanto os hooks do React permitem um gerenciamento de estado e efeitos colaterais de forma declarativa.