Código fonte do componente App.tsx
46 |
47 | O elemento `Link` é um componente do React Router DOM que permite criar links clicáveis que levam a outras rotas dentro do seu aplicativo React. Em outras palavras, o `Link` é usado para criar links de navegação dentro do aplicativo sem precisar recarregar a página inteira.
48 |
49 | Quando o usuário clica em um link criado com o elemento `Link`, o React Router DOM atualiza a URL do navegador e renderiza o componente associado à nova rota. Isso significa que o `Link` é usado para criar uma experiência de navegação mais rápida e fluida para os usuários do seu aplicativo.
50 |
51 | O atributo `to` do elemento `Link` define a rota para a qual o link deve apontar. Nesse caso, o valor `'login' ou 'home'` indica que o link deve apontar para a rota `'/login'`. O `'/login'` é a URL que será adicionada ao histórico de navegação do navegador quando o link for clicado.
52 |
53 | 1. Execute seu processo de compilação com `npm run start`.
54 |
55 | ```
56 | yarn run dev
57 | ```
58 |
59 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
60 |
61 |

62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/05_react/11.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Axios: Biblioteca de comunicação HTTP
4 |
5 | Bibliotecas de comunicação HTTP em React são bibliotecas que permitem que a aplicação React faça requisições HTTP para uma API e receba respostas. Essas bibliotecas são responsáveis por lidar com a comunicação entre o frontend e o backend da aplicação, permitindo que o usuário veja e interaja com os dados que são armazenados no servidor.
6 |
7 | As bibliotecas de comunicação HTTP mais comuns em React são o `Axios`, `Fetch` e `jQuery`. Cada uma dessas bibliotecas tem suas próprias vantagens e desvantagens e, em geral, são utilizadas para realizar operações de CRUD (Create, Read, Update, Delete) em um backend.
8 |
9 | Essas bibliotecas normalmente utilizam o conceito de `Promises` ou `Callbacks` para realizar as requisições HTTP de forma assíncrona e lidar com a resposta. Isso significa que a requisição é feita em segundo plano, enquanto a aplicação continua a funcionar normalmente, e quando a resposta é recebida, a biblioteca chama uma função de retorno para lidar com os dados.
10 |
11 | No React, essas bibliotecas podem ser utilizadas em conjunto com os `hooks`, como o `useState` e o `useEffect`, para armazenar e exibir os dados recebidos da API. Por exemplo, é possível fazer uma requisição para uma API no momento em que um componente é montado usando o `useEffect` e, em seguida, armazenar os dados recebidos no estado da aplicação com o `useState`, para que possam ser exibidos na tela.
12 |
13 | ao utilizar bibliotecas de comunicação HTTP em React, é possível:
14 |
15 | - Realizar operações de CRUD (Create, Read, Update, Delete) em um backend;
16 | - Enviar e receber dados de forma assíncrona, sem precisar recarregar a página;
17 | - Exibir dados dinamicamente na aplicação, sem precisar recarregar a página;
18 | - Manter a aplicação responsiva e fluida, mesmo enquanto espera pela resposta da API;
19 | - Lidar com erros de forma eficiente, exibindo mensagens de erro na interface do usuário.
20 |
21 |
1.1 👣 Axios em React
22 |
23 | `Axios` é uma biblioteca JavaScript utilizada para realizar requisições HTTP, tanto para recuperar dados quanto para enviar dados para uma API. É comumente utilizada em aplicações React para realizar operações de CRUD (Create, Read, Update, Delete) em um backend.
24 |
25 | A vantagem do `Axios` é que ele é fácil de usar e fornece uma série de recursos úteis para lidar com requisições HTTP, como o suporte a Promises, intercepção de requisições e respostas, cancelamento de requisições, entre outros.
26 |
27 | Alguns dos principais recursos do `Axios` são:
28 |
29 | - Suporte a Promises: o `Axios` retorna uma Promise, o que facilita o tratamento da resposta da requisição;
30 | - Intercepção de requisições e respostas: o `Axios` permite que as requisições e respostas sejam interceptadas para serem modificadas ou tratadas de forma específica antes de serem enviadas ou exibidas na aplicação;
31 | - Suporte a cancelamento de requisições: o `Axios` permite que as requisições sejam canceladas, caso necessário, o que pode melhorar a performance da aplicação;
32 | - Suporte a configurações globais: o `Axios` permite que configurações globais sejam definidas para todas as requisições feitas pela aplicação, como headers, por exemplo.
33 |
34 |
1.1 👣 Instalando Axios em react
35 |
36 | Primeiro vamos construir o nosso para isso precisamos instalar a bibliotecareact
37 |
38 | 1. digite em seu terminal:
39 |
40 | ```bash
41 | npm i axios@^1.3.4
42 | ```
43 |
44 |
45 |
46 |
1.2 👣 Service em React
47 |
48 | Em React, um "service" é um módulo ou uma classe que encapsula uma funcionalidade específica da aplicação, como o acesso a uma API, a manipulação de dados, a autenticação de usuários, entre outros. Esses serviços geralmente contêm métodos que realizam operações assíncronas, como a realização de requisições HTTP, e retornam Promises com os resultados dessas operações.
49 |
50 | Um dos principais objetivos de utilizar serviços em React é separar as responsabilidades da aplicação, tornando o código mais organizado e fácil de manter. Além disso, o uso de serviços também permite reutilizar a lógica de negócio em diferentes partes da aplicação, sem precisar duplicar código.
51 |
52 | O serviço com Axios em React é uma forma de fazer requisições HTTP de forma assíncrona em aplicações web. Essas requisições são importantes para obter dados de APIs externas, enviar dados para o servidor, ou até mesmo para realizar atualizações em tempo real na interface do usuário.
53 |
54 | O Axios é uma biblioteca muito popular e fácil de usar que permite fazer requisições HTTP de forma simples e eficiente. Ele é muito utilizado em projetos React devido à sua simplicidade e recursos avançados, como a capacidade de cancelar requisições, configurações de tempo limite e interceptadores de requisição e resposta.
55 |
56 | Ao utilizar o serviço com Axios em React, você pode separar a lógica de acesso à API em um módulo separado, tornando seu código mais organizado e fácil de manter. Além disso, você pode usar o Axios para lidar com erros e exceções, bem como para realizar autenticação de usuários.
57 |
58 |
1.2 👣Exemplo de service com axios em React
59 |
60 | Esse é um exemplo de como utilizar a biblioteca Axios para realizar uma requisição GET a uma API.
61 |
62 | ```javascript
63 | import axios from 'axios';
64 |
65 | axios.get('/user?ID=12345')
66 | .then(function (response) {
67 | console.log(response);
68 | })
69 | .catch(function (error) {
70 | console.log(error);
71 | });
72 | ```
73 |
74 | Primeiro, é feito o import da biblioteca Axios através da sintaxe `import axios from 'axios'`. Em seguida, é utilizada a função `axios.get()` para fazer uma requisição do tipo GET para a URL `/user` passando como parâmetro um objeto que contém o ID `12345`.
75 |
76 | Ao utilizar a função `.then()` na resposta da requisição, estamos definindo uma função que será executada caso a requisição seja bem-sucedida, ou seja, quando a API retornar uma resposta. Nesse caso, estamos imprimindo no console a resposta da API utilizando a função `console.log(response)`.
77 |
78 | Caso ocorra algum erro na requisição, podemos utilizar a função `.catch()`.
79 |
80 |
81 |
82 |
1.3 👣 Trabalhando com axios em React com TypeScript
83 |
84 | 1. Instale o Axios em seu projeto React usando o gerenciador de pacotes npm. Para fazer isso, execute o seguinte comando no terminal:
85 |
86 | ```bash
87 | npm install axios
88 | ```
89 |
90 | 2. no componente app.tsx
91 |
92 | 3. importe no componente a biblioteca useState e useEffect como no exemplo
93 |
94 | 4. importe a biblioteca do axios
95 |
96 | 5. construa uma interface User contendo os atributos de id do tipo number e name do tipo string
97 |
98 | 6. construa um useState de users do tipo array da interface User inicializado como vazio
99 |
100 | 7. construa um useEffect de array vazio
101 |
102 | 8. chame o objeto axios e chame o metodo get
103 |
104 | 9. no parametro do método get indique o endereço da api do placeholder no recurso user
105 |
106 | 10. abra um sistema de excessão do tipo then e catch
107 |
108 | 11. no metodo then trabalhe com arrow fuction onde utilizaremos a resposta da requisição, objeto response atributo data para setar o nosso useState de users
109 |
110 | 12. no metodo catch capture o erro dentro de um console.log
111 |
112 | 13. crie uma lista não ordenada no componente app.tx
113 |
114 | 14. nessa lista intere atravez de um laço de repetição do tipo map as informaçoes de id e name do nosso useState users
115 |
116 | 15. salve o projeto e execute em seu navegador
117 |
118 |

119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
--------------------------------------------------------------------------------
/05_react/13.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Arquitetura de um projeto React
4 |
5 | A arquitetura de pasta em um projeto React é muito importante porque ajuda a organizar o código de uma forma lógica e fácil de entender, o que é essencial para manter o projeto escalável, fácil de manter e colaborativo.
6 |
7 | Uma boa arquitetura de pasta pode ajudar a separar as responsabilidades de cada componente e módulo do projeto, e também facilitar a navegação e a localização de arquivos. Além disso, uma estrutura bem definida pode facilitar a reutilização de componentes em diferentes partes do projeto, bem como em outros projetos.
8 |
9 | Uma arquitetura de pasta bem definida para um projeto React geralmente envolve a organização de arquivos por tipo (componentes, estilos, imagens, etc.) ou por recurso (páginas, rotas, autenticação, etc.). A escolha do tipo de organização dependerá do tamanho e da complexidade do projeto, mas o importante é manter uma estrutura clara e consistente em todo o código.
10 |
11 |
1.1 👣 Arquitetura de pastas em React
12 |
13 |

14 |
15 | Existem várias maneiras de organizar um projeto React, mas geralmente as pastas mais comuns são `pages`, `components`, `services` ,`contexts` e `assets`. Abaixo, vou explicar brevemente a função de cada uma delas:
16 |
17 | - **`pages`:** A pasta `pages` geralmente contém os componentes que correspondem às páginas ou rotas da aplicação. Cada página é geralmente composta por vários componentes, como formulários, botões, gráficos, tabelas, etc. Esses componentes são agrupados em uma pasta específica dentro de `pages` e são responsáveis por renderizar a página correta com base na URL ou rota.
18 | - **`components`:** A pasta `components` contém os componentes reutilizáveis da aplicação. Esses componentes podem ser usados em várias páginas ou em outros componentes para ajudar a evitar a duplicação de código. Os componentes em `components` são geralmente compostos por um conjunto de subcomponentes menores que podem ser reutilizados em outros lugares.
19 | - **`services`:** A pasta `services` geralmente contém os arquivos de serviço da aplicação, que lidam com a comunicação com um servidor externo ou API. Esses arquivos geralmente são responsáveis por enviar e receber dados do servidor, realizar autenticação, tratar erros e outros processos relacionados à comunicação com o servidor.
20 | - **`contexts`:** A pasta `contexts` contém os contextos da aplicação. Os contextos são uma forma de compartilhar dados entre componentes sem precisar passá-los manualmente de um componente para outro. Eles são úteis para compartilhar dados como autenticação, configurações, temas, etc. em toda a aplicação.
21 | - **`assets`:** A pasta `assets` geralmente contém todos os recursos estáticos da aplicação, como imagens, ícones, arquivos de fonte e folhas de estilo. Esses recursos são agrupados em uma pasta específica para facilitar o gerenciamento e a importação nos componentes da aplicação.
22 | - **`models`:** A pasta `models` pode conter modelos ou esquemas de dados que definem como os dados são organizados e estruturados na aplicação. Eles podem ser usados para validar e normalizar os dados antes de serem armazenados ou exibidos.
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/05_react/14.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Projeto Blog Pessoal: Construindo Model, Context e Service do Cadastro de Usuários
4 |
5 | A página de cadastro de usuário é uma página web que permite que novos usuários se registrem em um aplicativo web. Geralmente, a página de cadastro de usuário contém um formulário com campos para informações básicas do usuário, como nome completo, endereço de e-mail e senha. Além disso, pode conter campos para outras informações, dependendo do tipo de aplicativo e do que é necessário para o registro.
6 |
7 | O processo de registro normalmente começa com o usuário clicando em um botão de registro na página inicial do aplicativo. Em seguida, o usuário é direcionado para a página de cadastro de usuário, onde pode inserir suas informações. O formulário de registro pode conter campos obrigatórios e opcionais, dependendo do que é necessário para o aplicativo. Também pode incluir validações de entrada para garantir que as informações inseridas pelo usuário estejam em um formato correto.
8 |
9 | Após preencher o formulário, o usuário geralmente clica em um botão de envio para enviar suas informações para o servidor do aplicativo. O servidor, por sua vez, pode verificar as informações do usuário, incluindo se o endereço de e-mail é válido e se a senha é forte o suficiente. Se tudo estiver correto, o servidor pode criar uma conta para o usuário e direcioná-lo para a página de login para acessar o aplicativo.
10 |
11 | A página de cadastro de usuário é uma parte importante de um aplicativo web, pois é o primeiro contato do usuário com o aplicativo. Uma página de registro bem projetada pode ajudar a garantir que os usuários se inscrevam com sucesso e possam começar a usar o aplicativo rapidamente. Além disso, uma página de registro segura e bem projetada pode ajudar a proteger as informações pessoais dos usuários e evitar fraudes ou abusos.
12 |
13 | A página de cadastro de usuário é uma parte crítica de qualquer aplicativo web, pois é o ponto de entrada para novos usuários que desejam utilizar o serviço ou produto oferecido pelo aplicativo.
14 |
15 | Existem várias razões pelas quais a página de cadastro de usuário é importante:
16 |
17 | 1. Registro de novos usuários: A página de cadastro de usuário permite que novos usuários se registrem no aplicativo, fornecendo informações básicas, como nome, endereço de e-mail e senha. Essas informações são necessárias para que o usuário possa acessar o aplicativo e utilizar seus recursos.
18 | 2. Coleta de informações importantes: Além das informações básicas, a página de cadastro de usuário também pode coletar outras informações importantes, como preferências de usuário, dados de contato, informações de pagamento e outras informações relevantes para o aplicativo. Essas informações podem ser usadas para personalizar a experiência do usuário e melhorar os recursos oferecidos pelo aplicativo.
19 | 3. Segurança: A página de cadastro de usuário é também um ponto importante para garantir a segurança do aplicativo. Através do cadastro, é possível verificar a identidade do usuário e assegurar que ele não está criando contas múltiplas ou tentando se passar por outra pessoa.
20 | 4. Comunicação: A página de cadastro de usuário também pode ser usada para coletar informações de contato do usuário, como endereço de e-mail ou número de telefone, o que permite ao aplicativo enviar notificações, atualizações e outras informações importantes para o usuário.
21 |
22 | Construiremos uma pagina de cadastro utilizando as estruturas de models,contexts,service.
23 |
24 |
1.1 👣 Construindo as Models
25 |
26 | A pasta "model" geralmente é usada para armazenar os modelos de dados ou classes que representam a estrutura de dados de uma aplicação em React. Esses modelos geralmente são usados para armazenar dados que são compartilhados em vários componentes e que precisam ser mantidos em sincronia. Por exemplo, se sua aplicação precisa armazenar informações de usuário em vários lugares, você pode criar um modelo de usuário e armazenar os dados do usuário nele, em vez de mantê-los em vários componentes separados.
27 |
28 | Agora vamos construir a nossas models.
29 |
30 | 1. Construa uma pasta chamada models dentro da pasta src de seu projeto.
31 |
32 | 2. construa os seguintes arquivos: Usuario.ts, UsuarioLogin.ts, Postagem.ts, Tema.ts .
33 |
34 | 3. no arquivo de Tema coloque o código abaixo.
35 |
36 |
Código fonte da model Tema.ts
37 |
38 | 4. no arquivo de Postagem coloque o código abaixo.
39 |
40 |
Código fonte da model Postagem.ts
41 |
42 | 5. no arquivo de Usuario coloque o código abaixo.
43 |
44 |
Código fonte da model Usuario.ts
45 |
46 | 6. no arquivo de UsuarioLogin coloque o código abaixo.
47 |
48 |
Código fonte da model UsuarioLogin.ts
49 |
50 |
1.2 👣 Construindo o context
51 |
52 | A pasta "contexts" é usada para armazenar os contextos em uma aplicação React. O contexto é uma maneira de compartilhar dados entre componentes sem precisar passá-los manualmente por meio de props. Os contextos permitem que um componente consuma dados de um contexto pai ou de um provedor de contexto. Quando os dados mudam no provedor de contexto, todos os componentes que consomem esse contexto serão atualizados automaticamente.
53 |
54 | Utilizaremos context para passar os dados de Token e informações do usuario logado.
55 |
56 | Agora vamos construir a nosso contexts para guardar o nosso dado de forma global.
57 |
58 | 1. Construa uma pasta chamada contexts dentro da pasta src de seu projeto.
59 |
60 | 2. construa os seguinte arquivo: AuthContext.tsx
61 |
62 | 3. no arquivo de AuthContext.tsx coloque o código abaixo.
63 |
64 |
Código fonte da contest AuthContext.tsx
65 |
66 |
1.3 👣 Construindo service
67 |
68 | A pasta "service" geralmente é usada para armazenar funções que se comunicam com uma API ou outras fontes de dados externas. Essas funções geralmente são usadas para obter ou atualizar dados da API e, em seguida, atualizar o estado dos componentes em conformidade. Essa pasta pode ser usada para separar a lógica de negócios da lógica de interface do usuário e tornar o código mais modular e fácil de manter.
69 |
70 | Agora vamos construir a nosso service.
71 |
72 | 1. Construa uma pasta chamada services dentro da pasta src de seu projeto.
73 |
74 | 2. construa os seguintes arquivo: Service.ts
75 |
76 | 3. no arquivo de Service.ts coloque o código abaixo.
77 |
78 |
Código fonte da service Service.tsx
79 |
80 | Este é um exemplo de código que utiliza a biblioteca axios para fazer uma requisição POST para um servidor em uma determinada URL.
81 |
82 | Primeiro, o código importa a biblioteca axios. Em seguida, a constante api é criada usando o método create da biblioteca axios, passando a baseURL como parâmetro.
83 |
84 | A função cadastrarUsuario é definida, que é uma função assíncrona que recebe três parâmetros: uma string contendo a URL para a requisição POST, um objeto contendo os dados que serão enviados na requisição e uma função setDados que será utilizada para atualizar os dados após a requisição ser concluída.
85 |
86 | Dentro da função, a constante resposta é definida usando o método post da constante api, que é uma instância do axios criada anteriormente. Este método POST envia os dados fornecidos como segundo parâmetro para a URL fornecida como primeiro parâmetro.
87 |
88 | O resultado da requisição é armazenado na constante resposta, que contém o objeto de resposta da requisição. Em seguida, a função setDados é chamada com o resultado da requisição, ou seja, a resposta.data.
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/05_react/15.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Projeto Blog Pessoal: Cadastro do Usuario - Template/Lógica/Teste
4 |
5 | Comunicar uma página de cadastro de usuários em React com uma API é extremamente importante, pois permite que sua aplicação React envie e receba dados de um servidor backend e, assim, possa armazenar e recuperar informações dos usuários.
6 |
7 | Sem uma API, sua aplicação React seria incapaz de enviar dados de formulário de cadastro de usuários, como nome, endereço de e-mail e senha, para um servidor para serem armazenados. Além disso, a API também pode ser responsável por realizar algumas validações nos dados enviados, como verificar se o endereço de e-mail é válido e se a senha é segura o suficiente.
8 |
9 | Com a comunicação entre a página de cadastro de usuários e a API, sua aplicação React pode interagir com um banco de dados, armazenando informações do usuário em um servidor e recuperando essas informações posteriormente, por exemplo, para fazer login no site. Além disso, essa comunicação permite que sua aplicação React seja escalável e possa lidar com várias solicitações simultâneas, uma vez que a API é responsável por lidar com todas as solicitações dos usuários.
10 |
11 |
1.1 👣 Construindo o componente de cadastro de usuario
12 |
13 | Agora vamos construir a nosso componente de cadastro de usuario.
14 |
15 | 1. Construa uma pasta chamada cadastro dentro da pasta pages de seu projeto.
16 |
17 | 2. construa os seguinte arquivo: Cadastro.css
18 |
19 | 3. no arquivo de Cadastro.css coloque o código abaixo.
20 |
21 |
Código fonte do componente Cadastro.css
22 |
23 | 4. construa os seguinte arquivo: Cadastro.tsx
24 |
25 | 5. no arquivo de Cadastro.tsx coloque o código abaixo.
26 |
27 |
Código fonte do componente Cadastro.tsx
28 |
29 | 6. no arquivo de NavBar.tsx coloque o código abaixo.
30 |
31 |
Código fonte do componente NavBar.tsx
32 |
33 | 7. no arquivo de App.tsx coloque o código abaixo.
34 |
35 |
Código fonte do componente App.tsx
36 |
37 | 8. Execute seu processo de compilação com `npm run start`.
38 |
39 | ```
40 | yarn run dev
41 | ```
42 |
43 |
44 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
45 |
46 |
47 |
48 |
Código fonte do projeto
49 |
50 |
1.2 👣 Construindo a logica da pagina cadastro de usuario e comunicando com api
51 |
52 | Agora vamos construir a nosso componente de cadastro de usuario.
53 |
54 | 1. Edite o seguinte arquivo: Cadastro.tsx
55 |
56 | 2. no arquivo de Cadastro.tsx coloque o código abaixo.
57 |
58 |
Código fonte do componente Cadastro.tsx
59 |
60 | 3. Execute seu processo de compilação com `npm run start`.
61 |
62 | ```
63 | yarn run dev
64 | ```
65 |
66 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
67 |
68 | Cadastre um novo usuario na tela de cadastro.
69 |
70 |
71 |
72 |
73 |
74 |
Código fonte do projeto
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/05_react/16.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Projeto Blog Pessoal: Construindo o template do Componente Login
4 |
5 | A página de login é uma parte importante das aplicações web, pois é a porta de entrada para os usuários acessarem seus recursos e dados pessoais dentro do sistema. Essa página geralmente é a primeira interação que os usuários têm com a aplicação, portanto, deve ser fácil de entender e usar.
6 |
7 | Além de permitir o acesso dos usuários, a página de login também ajuda a garantir a segurança da aplicação, pois é o meio pelo qual as credenciais do usuário são verificadas antes de permitir o acesso aos recursos protegidos. Isso ajuda a evitar que usuários não autorizados acessem informações confidenciais ou executem ações que não têm permissão.
8 |
9 | Além disso, a página de login também é importante para a experiência do usuário. Ela pode ser personalizada para refletir a marca da aplicação e oferecer uma interface amigável e intuitiva, facilitando o uso da aplicação pelos usuários. É importante ter um design responsivo e adaptável para que a página de login seja acessível em diferentes dispositivos e tamanhos de tela.
10 |
11 |
1.1 👣 Editando service
12 |
13 | A pasta "service" geralmente é usada para armazenar funções que se comunicam com uma API ou outras fontes de dados externas. Essas funções geralmente são usadas para obter ou atualizar dados da API e, em seguida, atualizar o estado dos componentes em conformidade. Essa pasta pode ser usada para separar a lógica de negócios da lógica de interface do usuário e tornar o código mais modular e fácil de manter.
14 |
15 | Agora vamos editar o nosso service.
16 |
17 | 1. Edite o seguinte arquivo: Service.ts
18 |
19 | 2. no arquivo de Service.ts coloque o código abaixo.
20 |
21 |
Código fonte do Service.tsx
22 |
23 |
1.2 👣 Editando App.tsx
24 |
25 | 1. Edite o seguinte arquivo: App.ts
26 |
27 | 2. no arquivo de Service.ts coloque o código abaixo.
28 |
29 |
Código fonte do componente App.tsx
30 |
31 |
1.3 👣 Construindo o componente de login
32 |
33 | Agora vamos construir a nosso componente de login de usuario.
34 |
35 | 1. Construa uma pasta chamada cadastro dentro da pasta pages de seu projeto.
36 |
37 | 2. construa os seguinte arquivo: Login.css
38 |
39 | 3. no arquivo de Login.css coloque o código abaixo.
40 |
41 |
Código fonte do componente Login.css
42 |
43 | 4. construa os seguinte arquivo: Login.tsx
44 |
45 | 5. no arquivo de Cadastro.tsx coloque o código abaixo.
46 |
47 |
Código fonte do componente Login.tsx
48 |
49 | 6. Execute seu processo de compilação com `npm run start`.
50 |
51 | ```
52 | yarn run dev
53 | ```
54 |
55 |
56 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
57 |
58 |
59 |
60 |
Código fonte do projeto
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/05_react/17.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Projeto Blog Pessoal: Construindo a lógica do Componente Login
4 |
5 | Comunicar a página de login de uma aplicação React com uma API é importante porque permite que o aplicativo se conecte ao servidor e verifique as credenciais do usuário para autorizar o acesso à aplicação. A comunicação com a API é feita através de requisições HTTP, que podem enviar dados de login, como nome de usuário e senha, para o servidor, onde são verificados e autenticados.
6 |
7 | Ao usar uma API para gerenciar a autenticação, a aplicação pode aproveitar os recursos de segurança fornecidos pela API, como a criptografia de senha, autenticação de dois fatores e verificações de segurança adicionais. Isso aumenta a segurança da aplicação e protege os dados do usuário.
8 |
9 | Além disso, a comunicação com a API permite que a aplicação mantenha um estado de login consistente em todas as páginas e componentes. Quando o usuário faz login, a API retorna um token de autenticação, que é armazenado na aplicação e pode ser usado para fazer solicitações subsequentes ao servidor. Dessa forma, a aplicação pode manter o estado de login do usuário em todas as páginas, sem a necessidade de o usuário fazer login novamente em cada página.
10 |
11 | Por fim, a comunicação com a API também permite que a aplicação trate erros de autenticação e forneça mensagens de erro claras ao usuário em caso de falha no login. Isso ajuda a melhorar a experiência do usuário e evita confusão ou frustração.
12 |
13 |
1.1 👣 Construindo a logica da pagina de Login e comunicando com api
14 |
15 | Agora vamos construir a nosso componente de login de usuario.
16 |
17 | 1. Edite o seguinte arquivo: Login.tsx
18 |
19 | 2. no arquivo de Login.tsx coloque o código abaixo.
20 |
21 |
Código fonte do componente Login.tsx
22 |
23 | 3. Execute seu processo de compilação com `npm run start`.
24 |
25 | ```
26 | yarn run dev
27 | ```
28 |
29 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
30 |
31 | Realize o login de um usuario cadastrado
32 |
33 |
34 |
35 |
36 |
37 |
Código fonte do projeto
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/05_react/18.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo o template do Componente Lista Temas
2 |
3 | Um componente de lista de temas em uma aplicação web é uma funcionalidade que permite aos usuários selecionar um conjunto de temas ou categorias para filtrar e visualizar conteúdo relevante para seus interesses. A inclusão desse componente pode ter várias vantagens importantes:
4 |
5 | 1. Facilita a navegação: Um componente de lista de temas ajuda os usuários a encontrar conteúdo de forma rápida e fácil, permitindo que eles selecionem os temas de seu interesse e vejam apenas o conteúdo relevante para eles.
6 | 2. Melhora a experiência do usuário: Ao fornecer uma maneira conveniente de acessar conteúdo relevante, um componente de lista de temas pode melhorar a experiência do usuário, aumentando sua satisfação e fidelidade à aplicação.
7 | 3. Aumenta o engajamento: Quando os usuários podem encontrar facilmente o conteúdo que desejam, eles são mais propensos a se envolver com a aplicação e passar mais tempo navegando nela.
8 | 4. Permite personalização: Ao oferecer aos usuários a capacidade de selecionar seus próprios temas de interesse, um componente de lista de temas permite que a aplicação web ofereça uma experiência personalizada, adaptada aos interesses e necessidades específicas de cada usuário.
9 | 5. Melhora a organização: Um componente de lista de temas pode ajudar a organizar o conteúdo da aplicação web, tornando-o mais fácil de navegar e encontrar, tanto para os usuários quanto para os desenvolvedores e gerenciadores de conteúdo.
10 |
11 |
1.1 👣 Editando service
12 |
13 | A pasta "service" geralmente é usada para armazenar funções que se comunicam com uma API ou outras fontes de dados externas. Essas funções geralmente são usadas para obter ou atualizar dados da API e, em seguida, atualizar o estado dos componentes em conformidade. Essa pasta pode ser usada para separar a lógica de negócios da lógica de interface do usuário e tornar o código mais modular e fácil de manter.
14 |
15 | Agora vamos editar o nosso service.
16 |
17 | 1. Edite o seguinte arquivo: Service.ts
18 |
19 | 2. no arquivo de Service.ts coloque o código abaixo.
20 |
21 |
Código fonte do Service.tsx
22 |
23 |
1.2 👣 Editando NavBar.tsx
24 |
25 | 1. Edite o seguinte arquivo: NavBar.tsx
26 |
27 | 2. no arquivo de NavBar.tsx coloque o código abaixo.
28 |
29 |
Código fonte do componente NavBar.tsx
30 |
31 |
1.3 👣 Editando App.tsx
32 |
33 | 1. Edite o seguinte arquivo: App.tsx
34 |
35 | 2. no arquivo de App.tsx coloque o código abaixo.
36 |
37 |
Código fonte do componente App.tsx
38 |
39 |
1.4 👣 Construindo o componente de CardTemas
40 |
41 | Agora vamos construir a nosso componente de cardTemas.
42 |
43 | 1. Construa uma pasta chamada temas dentro da pasta components de seu projeto.
44 |
45 | 2. Construa uma pasta chamada cardTemas dentro da pasta temas de seu projeto.
46 |
47 | 3. construa os seguinte componente: CardTemas.tsx
48 |
49 | 4. no arquivo de CardTemas.tsx coloque o código abaixo.
50 |
51 |
Código fonte do componente CardTemas.tsx
52 |
53 |
1.5 👣 Construindo o componente de ListaTemas
54 |
55 | Agora vamos construir a nosso componente de listaTemas.
56 |
57 | 1. Construa uma pasta chamada listaTemas dentro da pasta temas de seu projeto.
58 |
59 | 2. construa os seguinte componente: ListaTemas.tsx
60 |
61 | 3. no arquivo de ListaTemas.tsx coloque o código abaixo.
62 |
63 |
Código fonte do componente ListaTemas.tsx
64 |
65 | 4. Execute seu processo de compilação com `npm run start`.
66 |
67 | ```
68 | yarn run dev
69 | ```
70 |
71 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
72 |
73 | Acesse a paginas temas do navBar
74 |
75 |
76 |
77 |
Código fonte do projeto
78 |
79 |
80 |
81 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/05_react/19.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a lógica do Componente Lista Temas
2 |
3 | A função de um `getAll` temas em uma API REST é retornar uma lista de todos os temas disponíveis na aplicação ou sistema.
4 |
5 | Essa operação é utilizada quando se deseja listar todos os temas cadastrados na base de dados da aplicação ou sistema. A lista pode ser retornada em ordem alfabética, por data de criação ou qualquer outra ordem definida pelo desenvolvedor da API.
6 |
7 | Essa operação é útil para que o usuário da API possa obter uma visão geral dos temas disponíveis, e posteriormente realizar operações específicas em cada tema, como adicionar, atualizar ou remover.
8 |
9 | O retorno dessa lista pode ser em formato JSON, XML ou outro formato definido pela API. Além disso, é importante que a API possua um sistema de paginação para lidar com listas grandes de temas e garantir uma melhor performance e eficiência na comunicação entre o cliente e o servidor.
10 |
11 |
1.1 👣 Cadastrando um novo tema
12 |
13 | Agora vamos cadastrar um novo tema atraves da sua api em deploy pelo swagger.
14 |
15 | 1. Entre no swagger em deploy de sua api
16 | 2. Em Post Temas cadastre um novo tema
17 |
18 |
19 |
20 |
1.2 👣 Construindo a logica do componente CardTemas
21 |
22 | Agora vamos construir a nosso componente de CardTemas.
23 |
24 | 1. Edite o seguinte arquivo: CardTemas.tsx
25 |
26 | 2. no arquivo de CardTemas.tsx coloque o código abaixo.
27 |
28 |
Código fonte do componente CardTemas.tsx
29 |
30 |
1.3 👣 Construindo a logica da pagina de ListaTemas e comunicando com api
31 |
32 | Agora vamos construir a nosso componente de ListaTemas.
33 |
34 | 1. Edite o seguinte arquivo: ListaTemas.tsx
35 |
36 | 2. no arquivo de ListaTemas.tsx coloque o código abaixo.
37 |
38 |
Código fonte do componente ListaTemas.tsx
39 |
40 | 3. Execute seu processo de compilação com `npm run start`.
41 |
42 | ```
43 | yarn run dev
44 | ```
45 |
46 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
47 |
48 | Acesse o componente temas
49 |
50 |
51 |
52 |
Código fonte do projeto
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/05_react/20.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo o template do Componente Formulário Tema
2 |
3 | Os componentes de formulário de cadastro e edição são essenciais para qualquer aplicação web que coleta informações dos usuários. Esses componentes permitem que os usuários entrem com dados pessoais, informações de pagamento, endereços, preferências e outras informações relevantes para a aplicação.
4 |
5 | A importância desses componentes está relacionada à facilidade de uso e à experiência do usuário. Um formulário bem projetado e fácil de usar pode ajudar a aumentar a taxa de conversão, pois os usuários se sentirão mais confortáveis em compartilhar suas informações.
6 |
7 | Além disso, os formulários de cadastro e edição devem ser seguros e proteger as informações confidenciais dos usuários, como informações de pagamento ou senhas.
8 |
9 | Por fim, os componentes de formulário de cadastro e edição também podem ajudar a organizar as informações de maneira clara e fácil de entender, permitindo que os usuários revisem e editem suas informações com facilidade. Em resumo, esses componentes são vitais para o sucesso de qualquer aplicação web que lida com informações de usuários.
10 |
11 |
1.1 👣 Editando service
12 |
13 | A pasta "service" geralmente é usada para armazenar funções que se comunicam com uma API ou outras fontes de dados externas. Essas funções geralmente são usadas para obter ou atualizar dados da API e, em seguida, atualizar o estado dos componentes em conformidade. Essa pasta pode ser usada para separar a lógica de negócios da lógica de interface do usuário e tornar o código mais modular e fácil de manter.
14 |
15 | Agora vamos editar o nosso service.
16 |
17 | 1. Edite o seguinte arquivo: Service.ts
18 |
19 | 2. no arquivo de Service.ts coloque o código abaixo.
20 |
21 |
Código fonte do Service.tsx
22 |
23 |
1.2 👣 Editando NavBar.tsx
24 |
25 | 1. Edite o seguinte arquivo: NavBar.tsx
26 |
27 | 2. no arquivo de NavBar.tsx coloque o código abaixo.
28 |
29 |
Código fonte do componente NavBar.tsx
30 |
31 |
1.3 👣 Editando App.tsx
32 |
33 | 1. Edite o seguinte arquivo: App.tsx
34 |
35 | 2. no arquivo de App.tsx coloque o código abaixo.
36 |
37 |
Código fonte do componente App.tsx
38 |
39 |
1.5 👣 Construindo o componente de FormularioTema
40 |
41 | Agora vamos construir a nosso componente de formularioTema.
42 |
43 | 1. Construa uma pasta chamada formularioTema dentro da pasta temas de seu projeto.
44 |
45 | 2. construa os seguinte componente: FormularioTema.tsx
46 |
47 | 3. no arquivo de FormularioTema.tsx coloque o código abaixo.
48 |
49 |
Código fonte do componente FormularioTema.tsx
50 |
51 | 4. Execute seu processo de compilação com `npm run start`.
52 |
53 | ```
54 | yarn run dev
55 | ```
56 |
57 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
58 |
59 | Acesse a paginas cadastrarTema do navBar
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/05_react/21.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a lógica do Componente Formulário Tema
2 |
3 | Os métodos HTTP POST e PUT são utilizados em uma API REST para criar e atualizar recursos, respectivamente. Portanto, é possível inferir que as funções "PostTemas" e "PutTemas" em uma API REST relacionam-se com a criação e atualização de temas (ou tópicos) na aplicação.
4 |
5 | O método POST (PostTemas) é utilizado para criar um novo recurso na aplicação, neste caso, um novo tema. Quando um cliente envia uma solicitação HTTP POST para a API REST com um novo tema em formato de dados no corpo da solicitação, a API irá processar essa solicitação e criar um novo registro do tema no banco de dados da aplicação.
6 |
7 | Já o método PUT (PutTemas) é utilizado para atualizar um recurso existente. Quando um cliente envia uma solicitação HTTP PUT para a API REST com um tema existente que precisa ser atualizado, a API irá procurar pelo registro correspondente no banco de dados e atualizá-lo com os novos dados fornecidos no corpo da solicitação.
8 |
9 |
1.3 👣 Construindo a logica da pagina de FormularioTema e comunicando com api
10 |
11 | Agora vamos construir a nosso componente de FormularioTema.
12 |
13 | 1. Edite o seguinte arquivo: FormularioTema.tsx
14 |
15 | 2. no arquivo de FormularioTema.tsx coloque o código abaixo.
16 |
17 |
Código fonte do componente FormularioTema.tsx
18 |
19 | 3. Execute seu processo de compilação com `npm run start`.
20 |
21 | ```
22 | yarn run dev
23 | ```
24 |
25 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
26 |
27 | Acesse o componente Cadastrar tema e cadastre um novo tema
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | Edite esse tema que foi criado.
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/05_react/22.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a template do Componente Deletar Tema
2 |
3 | Um componente de deletar tema em uma aplicação web é importante por várias razões:
4 |
5 | 1. Manutenção de dados: Um componente de deletar tema permite que os usuários removam temas antigos ou irrelevantes da aplicação, ajudando a manter os dados da aplicação atualizados e organizados.
6 | 2. Melhor experiência do usuário: Os usuários esperam ter controle sobre as informações que compartilham em uma aplicação, e um componente de deletar tema permite que eles tenham esse controle. Isso pode melhorar a experiência do usuário, já que eles se sentirão mais no controle de suas informações e poderão gerenciá-las de forma mais eficiente.
7 | 3. Proteção de dados: Em algumas situações, é importante excluir informações pessoais de usuários, especialmente em casos de solicitações de privacidade de dados. Nesse caso, um componente de deletar tema pode ser essencial para garantir que os dados sejam excluídos corretamente e que a privacidade do usuário seja protegida.
8 | 4. Conformidade com a lei: Dependendo da aplicação e do tipo de dados coletados, pode haver leis ou regulamentações que exijam a exclusão de dados de usuários. Um componente de deletar tema permite que a aplicação cumpra essas leis e regulamentações.
9 |
10 |
1.1 👣 Editando service
11 |
12 | A pasta "service" geralmente é usada para armazenar funções que se comunicam com uma API ou outras fontes de dados externas. Essas funções geralmente são usadas para obter ou atualizar dados da API e, em seguida, atualizar o estado dos componentes em conformidade. Essa pasta pode ser usada para separar a lógica de negócios da lógica de interface do usuário e tornar o código mais modular e fácil de manter.
13 |
14 | Agora vamos editar o nosso service.
15 |
16 | 1. Edite o seguinte arquivo: Service.ts
17 |
18 | 2. no arquivo de Service.ts coloque o código abaixo.
19 |
20 |
Código fonte do Service.tsx
21 |
22 |
1.3 👣 Editando App.tsx
23 |
24 | 1. Edite o seguinte arquivo: App.tsx
25 |
26 | 2. no arquivo de App.tsx coloque o código abaixo.
27 |
28 |
Código fonte do componente App.tsx
29 |
30 |
1.5 👣 Construindo o componente de deletarTema
31 |
32 | Agora vamos construir a nosso componente de DeletarTema.
33 |
34 | 1. Construa uma pasta chamada deletarTema dentro da pasta temas de seu projeto.
35 |
36 | 2. construa os seguinte componente: DeletarTema.tsx
37 |
38 | 3. no arquivo de DeletarTema.tsx coloque o código abaixo.
39 |
40 |
Código fonte do componente DeletarTema.tsx
41 |
42 | 4. Execute seu processo de compilação com `npm run start`.
43 |
44 | ```
45 | yarn run dev
46 | ```
47 |
48 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
49 |
50 | Acesse a paginas DeletarTema.
51 |
52 |
53 |
54 |
Código fonte do projeto
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/05_react/23.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pesssoal: Construindo a lógica do Componente Deletar Tema
2 |
3 | A função de um método HTTP DELETE em uma API REST é remover um recurso específico do servidor. Portanto, um "deleteTema" em uma API REST seria utilizado para excluir um registro de tema específico da aplicação.
4 |
5 | Quando um cliente envia uma solicitação HTTP DELETE para a API REST com um ID de tema, a API verifica se esse ID corresponde a um registro de tema existente no banco de dados. Se houver um registro correspondente, a API remove esse registro do banco de dados e retorna uma resposta de sucesso para o cliente.
6 |
7 | O "deleteTema" é importante em uma API REST porque permite que os usuários removam recursos que já não são mais relevantes ou necessários. Além disso, a exclusão de registros de temas antigos pode ajudar a manter o banco de dados da aplicação atualizado e organizado.
8 |
9 | É importante notar que o método HTTP DELETE deve ser usado com cuidado, já que a exclusão de um registro é uma ação irreversível e pode ter impactos em outras partes da aplicação. Portanto, é recomendável que a exclusão de registros seja feita com cautela e que os usuários sejam informados sobre as consequências da exclusão antes de confirmar a ação.
10 |
11 |
1.3 👣 Construindo a logica da pagina de DeletarTema e comunicando com api
12 |
13 | Agora vamos construir a nosso componente de DeletarTema.
14 |
15 | 1. Edite o seguinte arquivo: DeletarTema.tsx
16 |
17 | 2. no arquivo de DeletarTema.tsx coloque o código abaixo.
18 |
19 |
Código fonte do componente DeletarTema.tsx
20 |
21 | 3. Execute seu processo de compilação com `npm run start`.
22 |
23 | ```
24 | yarn run dev
25 | ```
26 |
27 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
28 |
29 | Acesse o componente DeletarTema e delete um tema
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/05_react/24.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo o template do Componente Lista Postagem
2 |
3 | Um componente de lista de postagens é importante em uma aplicação web porque permite que os usuários visualizem e acessem facilmente conteúdo relevante. Esse componente geralmente é usado para exibir uma lista de postagens em um blog, fórum, rede social ou qualquer outra aplicação que tenha conteúdo atualizado regularmente.
4 |
5 | Com um componente de lista de postagens, os usuários podem navegar facilmente pelo conteúdo do aplicativo, encontrar postagens relevantes com base em tópicos ou categorias específicas e acessar rapidamente informações importantes.
6 |
7 | Além disso, um componente de lista de postagens também pode ajudar a aumentar o engajamento do usuário, permitindo que os usuários comentem e interajam com as postagens, dando feedback ou compartilhando suas próprias experiências e opiniões.
8 |
9 |
1.1 👣 Construindo o componente de CardPostagem
10 |
11 | Agora vamos construir a nosso componente de CardPostagem.
12 |
13 | 1. Construa uma pasta chamada postagens dentro da pasta components de seu projeto.
14 |
15 | 2. Construa uma pasta chamada cardPostagem dentro da pasta postagens de seu projeto.
16 |
17 | 3. construa os seguinte componente: CardPostagem.tsx
18 |
19 | 4. no arquivo de CardPostagem.tsx coloque o código abaixo.
20 |
21 |
Código fonte do componente CardPostagem.tsx
22 |
23 |
1.2 👣 Construindo o componente de ListaPostagens
24 |
25 | Agora vamos construir a nosso componente de ListaPostagens.
26 |
27 | 1. Construa uma pasta chamada listaPostagens dentro da pasta postagens de seu projeto.
28 |
29 | 2. construa os seguinte componente: ListaPostagens.tsx
30 |
31 | 3. no arquivo de ListaPostagens.tsx coloque o código abaixo.
32 |
33 |
Código fonte do componente ListaPostagens.tsx
34 |
35 |
1.3 👣 Editando NavBar.tsx
36 |
37 | 1. Edite o seguinte arquivo: NavBar.tsx
38 |
39 | 1. no arquivo de NavBar.tsx coloque o código abaixo.
40 |
41 |
Código fonte do NavBar.tsx
42 |
43 |
1.4 👣 Editando App.tsx
44 |
45 | 1. Edite o seguinte arquivo: App.tsx
46 |
47 | 1. no arquivo de App.tsx coloque o código abaixo.
48 |
49 |
Código fonte do App.tsx
50 |
51 |
1.5 👣 Editando Home.tsx
52 |
53 | 1. Edite o seguinte arquivo: Home.tsx
54 |
55 | 2. no arquivo de Home.tsx coloque o código abaixo.
56 |
57 |
Código fonte do componente Home.tsx
58 |
59 | 1. Execute seu processo de compilação com `npm run start`.
60 |
61 | ```
62 | yarn run dev
63 | ```
64 |
65 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
66 |
67 | Acesse a pagina home
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/05_react/25.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a lógica do Componente Lista Postagens
2 |
3 | A função de um `getAll` postagens em uma API REST é retornar uma lista de todas as postagens disponíveis na aplicação ou sistema.
4 |
5 | Essa operação é utilizada quando se deseja listar todas as postagens cadastradas na base de dados da aplicação ou sistema. A lista pode ser retornada em ordem alfabética, por data de criação ou qualquer outra ordem definida pelo desenvolvedor da API.
6 |
7 | Essa operação é útil para que o usuário da API possa obter uma visão geral das postagens disponíveis, e posteriormente realizar operações específicas em cada postagem, como adicionar, atualizar ou remover.
8 |
9 | O retorno dessa lista pode ser em formato JSON, XML ou outro formato definido pela API. Além disso, é importante que a API possua um sistema de paginação para lidar com listas grandes de postagens e garantir uma melhor performance e eficiência na comunicação entre o cliente e o servidor.
10 |
11 |
1.1 👣 Cadastrando uma nova Postagem
12 |
13 | Agora vamos cadastrar um nova postagem atraves da sua api em deploy pelo swagger.
14 |
15 | 1. Entre no swagger em deploy de sua api
16 | 2. Em Post Postagem cadastre um nova postagem
17 |
18 |
19 |
20 |
1.2 👣 Construindo a logica do componente CardPostagem
21 |
22 | Agora vamos construir a nosso componente de CardPostagem.
23 |
24 | 1. Edite o seguinte arquivo: CardPostagem.tsx
25 |
26 | 2. no arquivo de CardPostagem.tsx coloque o código abaixo.
27 |
28 |
Código fonte do componente CardPostagem.tsx
29 |
30 |
1.3 👣 Construindo a logica da pagina de ListaPostagens e comunicando com api
31 |
32 | Agora vamos construir a nosso componente de ListaPostagens.
33 |
34 | 1. Edite o seguinte arquivo: ListaPostagens.tsx
35 |
36 | 2. no arquivo de ListaPostagens.tsx coloque o código abaixo.
37 |
38 |
Código fonte do componente ListaPostagens.tsx
39 |
40 | 3. Execute seu processo de compilação com `npm run start`.
41 |
42 | ```
43 | yarn run dev
44 | ```
45 |
46 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
47 |
48 | Acesse o componente home,
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/05_react/26.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a template do Componente Formulario Postagem
2 |
3 | Os componentes de formulário de cadastro e edição são essenciais para qualquer aplicação web que coleta informações dos usuários. Esses componentes permitem que os usuários entrem com dados pessoais, informações de pagamento, endereços, preferências e outras informações relevantes para a aplicação.
4 |
5 | A importância desses componentes está relacionada à facilidade de uso e à experiência do usuário. Um formulário bem projetado e fácil de usar pode ajudar a aumentar a taxa de conversão, pois os usuários se sentirão mais confortáveis em compartilhar suas informações.
6 |
7 | Além disso, os formulários de cadastro e edição devem ser seguros e proteger as informações confidenciais dos usuários, como informações de pagamento ou senhas.
8 |
9 | Por fim, os componentes de formulário de cadastro e edição também podem ajudar a organizar as informações de maneira clara e fácil de entender, permitindo que os usuários revisem e editem suas informações com facilidade. Em resumo, esses componentes são vitais para o sucesso de qualquer aplicação web que lida com informações de usuários.
10 |
11 |
1.2 👣 Editando NavBar.tsx
12 |
13 | 1. Edite o seguinte arquivo: NavBar.tsx
14 |
15 | 2. no arquivo de NavBar.tsx coloque o código abaixo.
16 |
17 |
Código fonte do componente NavBar.tsx
18 |
19 |
1.3 👣 Editando App.tsx
20 |
21 | 1. Edite o seguinte arquivo: App.tsx
22 |
23 | 2. no arquivo de App.tsx coloque o código abaixo.
24 |
25 |
Código fonte do componente App.tsx
26 |
27 |
1.5 👣 Construindo o componente de FormularioPostagem
28 |
29 | Agora vamos construir a nosso componente de formularioPostagem.
30 |
31 | 1. Construa uma pasta chamada formularioPostagem dentro da pasta postagens de seu projeto.
32 |
33 | 2. construa os seguinte componente: FormularioPostagem.tsx
34 |
35 | 3. no arquivo de FormularioPostagem.tsx coloque o código abaixo.
36 |
37 |
Código fonte do componente FormularioPostagem.tsx
38 |
39 |
1.5 👣 Construindo o componente de ModalPostagem
40 |
41 | Em aplicações web, a palavra "modal" é frequentemente usada para descrever um tipo específico de elemento de interface do usuário que é exibido em cima do conteúdo principal da página para fornecer informações adicionais ou solicitar alguma ação do usuário.
42 |
43 | Um modal é geralmente uma janela ou diálogo que aparece na frente do conteúdo principal da página e escurece ou desfoca o restante da interface para indicar que o foco deve estar na janela modal. Eles são frequentemente usados para apresentar informações importantes, como notificações, mensagens de erro ou formulários de entrada de dados.
44 |
45 | O objetivo de um modal é chamar a atenção do usuário para a tarefa em questão e impedir que o usuário interaja com o conteúdo principal da página até que a tarefa seja concluída ou o modal seja fechado. Modal geralmente possuem um botão de fechar, permitindo que o usuário retorne ao conteúdo principal da página.
46 |
47 | Agora vamos construir a nosso componente de ModalPostagem.
48 |
49 | 1. Construa uma pasta chamada modalPostagem dentro da pasta postagens de seu projeto.
50 |
51 | 2. construa os seguinte componente: ModalPostagem.css
52 |
53 | 3. no arquivo de ModalPostagem.csscoloque o código abaixo.
54 |
55 |
Código fonte do componente ModalPostagem.css
56 |
57 | 4. construa os seguinte componente: ModalPostagem.tsx
58 |
59 | 5. no arquivo de ModalPostagem.tsx coloque o código abaixo.
60 |
61 |
Código fonte do componente ModalPostagem.tsx
62 |
63 |
1.5 👣 editando o componente de Home
64 |
65 | 1. Edite o seguinte arquivo: Home.tsx
66 |
67 | 2. no arquivo de Home.tsx coloque o código abaixo.
68 |
69 |
Código fonte do componente Home.tsx
70 |
71 | 3. Execute seu processo de compilação com `npm run start`.
72 |
73 | ```
74 | yarn run dev
75 | ```
76 |
77 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
78 |
79 | Acesse a paginas home e clique no botão cadastrar postagem
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/05_react/27.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a lógica do Componente Formulário Postagem
2 |
3 | Os métodos HTTP POST e PUT são utilizados em uma API REST para criar e atualizar recursos, respectivamente. Portanto, é possível inferir que as funções "PostPostagem" e "PutPostagem" em uma API REST relacionam-se com a criação e atualização de temas (ou tópicos) na aplicação.
4 |
5 | O método POST (PostPostagem) é utilizado para criar um novo recurso na aplicação, neste caso, um novo tema. Quando um cliente envia uma solicitação HTTP POST para a API REST com um novo tema em formato de dados no corpo da solicitação, a API irá processar essa solicitação e criar um novo registro do tema no banco de dados da aplicação.
6 |
7 | Já o método PUT (PutPostagem) é utilizado para atualizar um recurso existente. Quando um cliente envia uma solicitação HTTP PUT para a API REST com um tema existente que precisa ser atualizado, a API irá procurar pelo registro correspondente no banco de dados e atualizá-lo com os novos dados fornecidos no corpo da solicitação.
8 |
9 |
1.3 👣 Construindo a logica da pagina de FormularioPostagem e comunicando com api
10 |
11 | Agora vamos construir a nosso componente de FormularioPostagem.
12 |
13 | 1. Edite o seguinte arquivo: FormularioPostagem.tsx
14 |
15 | 2. no arquivo de FormularioPostagem.tsx coloque o código abaixo.
16 |
17 |
Código fonte do componente FormularioPostagem.tsx
18 |
19 | 3. Execute seu processo de compilação com `npm run start`.
20 |
21 | ```
22 | yarn run dev
23 | ```
24 |
25 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
26 |
27 | Acesse o componente Cadastrar tema e cadastre um novo tema
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | Edite esse tema que foi criado.
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/05_react/28.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a template do Componente Deletar Postagem
2 |
3 | Um componente de deletar Postagem em uma aplicação web é importante por várias razões:
4 |
5 | 1. Manutenção de dados: Um componente de deletar Postagem permite que os usuários removam temas antigos ou irrelevantes da aplicação, ajudando a manter os dados da aplicação atualizados e organizados.
6 | 2. Melhor experiência do usuário: Os usuários esperam ter controle sobre as informações que compartilham em uma aplicação, e um componente de deletar Postagem permite que eles tenham esse controle. Isso pode melhorar a experiência do usuário, já que eles se sentirão mais no controle de suas informações e poderão gerenciá-las de forma mais eficiente.
7 | 3. Proteção de dados: Em algumas situações, é importante excluir informações pessoais de usuários, especialmente em casos de solicitações de privacidade de dados. Nesse caso, um componente de deletar tema pode ser essencial para garantir que os dados sejam excluídos corretamente e que a privacidade do usuário seja protegida.
8 |
9 |
1.3 👣 Editando App.tsx
10 |
11 | 1. Edite o seguinte arquivo: App.tsx
12 |
13 | 2. no arquivo de App.tsx coloque o código abaixo.
14 |
15 |
Código fonte do componente App.tsx
16 |
17 |
1.5 👣 Construindo o componente de deletarPostagem
18 |
19 | Agora vamos construir a nosso componente de DeletarPostagem.
20 |
21 | 1. Construa uma pasta chamada deletarPostagem dentro da pasta postagem de seu projeto.
22 |
23 | 2. construa os seguinte componente: DeletarPostagem.tsx
24 |
25 | 3. no arquivo de DeletarPostagem.tsx coloque o código abaixo.
26 |
27 |
Código fonte do componente DeletarPostagem.tsx
28 |
29 | 4. Execute seu processo de compilação com `npm run start`.
30 |
31 | ```
32 | yarn run dev
33 | ```
34 |
35 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
36 |
37 | Acesse a paginas DeletarPostagem.
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/05_react/29.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo a lógica do Componente Deletar Postagem
2 |
3 | A função de um método HTTP DELETE em uma API REST é remover um recurso específico do servidor. Portanto, um "deleteTema" em uma API REST seria utilizado para excluir um registro de tema específico da aplicação.
4 |
5 | Quando um cliente envia uma solicitação HTTP DELETE para a API REST com um ID de tema, a API verifica se esse ID corresponde a um registro de tema existente no banco de dados. Se houver um registro correspondente, a API remove esse registro do banco de dados e retorna uma resposta de sucesso para o cliente.
6 |
7 | O "deletePostagem" é importante em uma API REST porque permite que os usuários removam recursos que já não são mais relevantes ou necessários. Além disso, a exclusão de registros de temas antigos pode ajudar a manter o banco de dados da aplicação atualizado e organizado.
8 |
9 | É importante notar que o método HTTP DELETE deve ser usado com cuidado, já que a exclusão de um registro é uma ação irreversível e pode ter impactos em outras partes da aplicação. Portanto, é recomendável que a exclusão de registros seja feita com cautela e que os usuários sejam informados sobre as consequências da exclusão antes de confirmar a ação.
10 |
11 |
1.3 👣 Construindo a logica da pagina de DeletarPostagem e comunicando com api
12 |
13 | Agora vamos construir a nosso componente de DeletarPostagem.
14 |
15 | 1. Edite o seguinte arquivo: DeletarPostagem.tsx
16 |
17 | 2. no arquivo de DeletarPostagem.tsx coloque o código abaixo.
18 |
19 |
Código fonte do componente DeletarPostagem.tsx
20 |
21 | 3. Execute seu processo de compilação com `npm run start`.
22 |
23 | ```
24 | yarn run dev
25 | ```
26 |
27 | Em seguida, abra seu navegador e visite `http://localhost:5173/`.
28 |
29 | Acesse o componente DeletarTema e delete um tema
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/05_react/30.md:
--------------------------------------------------------------------------------
1 |
Projeto Blog Pessoal: Construindo o componente Perfil
2 |
3 | Um componente perfil de usuário em uma aplicação web é um recurso que permite que os usuários criem e gerenciem suas informações pessoais, configurações e preferências na plataforma.
4 |
5 | Este recurso geralmente inclui uma página de perfil que exibe as informações do usuário, como nome, endereço de e-mail, foto de perfil, entre outros dados relevantes. Além disso, o componente perfil de usuário pode incluir recursos para edição dessas informações, bem como para gerenciar notificações, privacidade, assinaturas e outras funcionalidades relacionadas.
6 |
7 | A importância do componente perfil de usuário em uma aplicação web é que ele permite que os usuários personalizem sua experiência na plataforma e gerenciem suas informações de maneira segura e eficiente. Com um perfil bem desenvolvido, os usuários podem controlar o que é exibido em suas páginas de perfil e como eles interagem com a aplicação, o que pode melhorar sua satisfação e fidelidade à plataforma.
8 |
9 | Além disso, o componente perfil de usuário é fundamental para a segurança da plataforma, pois ajuda a garantir que as informações pessoais dos usuários sejam armazenadas e gerenciadas de forma adequada. A capacidade de gerenciar as informações da conta do usuário também pode ajudar a evitar problemas de segurança, como o roubo de identidade ou o uso não autorizado de informações confidenciais.
10 |
11 |
1.1 👣 Construindo o componente de Perfil
12 |
13 | Agora vamos construir a nosso componente de Perfil.
14 |
15 | 1. Construa uma pasta chamada perfil dentro da pasta pages de seu projeto.
16 |
17 | 2. construa os seguinte componente: Perfil.tsx
18 |
19 | 3. no arquivo de Perfil.tsx coloque o código abaixo.
20 |
21 |
Código fonte do componente Perfil.tsx
22 |
23 |
1.2 👣 Editando NavBar.tsx
24 |
25 | 1. Edite o seguinte arquivo: NavBar.tsx
26 |
27 | 2. no arquivo de NavBar.tsx coloque o código abaixo.
28 |
29 |
Código fonte do componente NavBar.tsx
30 |
31 |
1.3 👣 Editando App.tsx
32 |
33 | 1. Edite o seguinte arquivo: App.tsx
34 |
35 | 2. no arquivo de App.tsx coloque o código abaixo.
36 |
37 |