⊗jsrxPmRDPPR 22 of 57 menu

Página do produto no navegador no Redux

Na última aula, criamos uma página separada para o produto. Agora precisamos fazer com que, ao clicar em um botão, nossa página apareça no navegador.

Para começar, vamos atribuir um endereço (URL) para ela, onde será exibida. Abra o arquivo App.jsx, onde definimos as rotas, e adicione em children mais uma rota filha (não se esqueça de importar ProductPage.jsx). Vamos especificar o caminho (path) e o componente que será renderizado:

{ path: '/products/:productId', element: <ProductPage />, },

Agora vamos abrir ProductsList.jsx na pasta products e modificar um pouco o código para dispProducts. Agora temos uma página separada com informações completas sobre cada produto. Isso significa que na lista de produtos vamos exibir apenas o nome do produto e um texto de descrição resumido. Também adicionaremos um link na forma de um elemento de navegação Link da biblioteca do roteador, ao clicar no qual será possível acessar a página do produto. Vamos adicionar também uma div com a classe product-excerpt, para separar visualmente os produtos. Agora nosso código para dispProducts ficará assim:

const dispProducts = products.map((product) => ( <div key={product.id} className="product-excerpt"> <h3>{product.name}</h3> <p>{product.desc.substring(0, 100)}</p> <Link to={`/products/${product.id}`} className="link-btn"> view </Link> </div> ))

Vamos importar Link:

import { Link } from 'react-router-dom'

E adicionar estilos para as classes link-btn e product-excerpt no index.css:

.product-excerpt { margin-top: 30px; border: 1px solid gray; border-radius: 5px; padding: 10px; } .link-btn { border: 1.5px solid gray; border-radius: 10px; background-color: coral; color: black; padding: 1px 12px 1px 12px; }

Por último, vamos também tornar funcional o link no menu à esquerda, que leva à página com a lista de produtos, para que possamos acessá-la de qualquer outro lugar. Para isso, abra nosso root.jsx e substitua esta linha de código:

<a>Products</a>

Pela seguinte:

<NavLink to="/products" end> Products </NavLink>

Também não vamos esquecer de importar NavLink da biblioteca do React Router:

import { Outlet, NavLink } from 'react-router-dom'

Vamos executar nossa aplicação. Agora podemos acessar a página de informações de qualquer produto, clicando no botão de visualização. Tente agora adicionar um novo produto e veja as informações sobre ele na página separada clicando no botão de visualização. Também agora, para voltar à lista de produtos basta clicar em 'Products' no menu à esquerda. Estando em páginas diferentes, observe como o URL na barra de endereços do navegador muda.

Abra sua aplicação com os estudantes. No arquivo App.jsx crie mais uma rota filha para a página do estudante.

No arquivo StudentsList.jsx, faça alterações no código para dispStudents, conforme mostrado na lição.

Faça com que o link 'Students' no menu esquerdo leve à página com a lista de estudantes. Verifique se tudo está funcionando.

Observe como o valor na barra de endereços do navegador muda, dependendo de em qual página você está no momento.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar