⊗jsrxPmRDPPR 22 of 57 menu

Página de producto en el navegador en Redux

En la lección anterior creamos una página separada para el producto. Ahora necesitamos hacer que al hacer clic en algún botón nuestra página aparezca en el navegador.

Para empezar, asignemos una dirección en la que se mostrará. Abramos el archivo App.jsx, en el cual definimos las rutas, y agreguemos en children una ruta hija más (no olvide importar ProductPage.jsx). Indiquemos la ruta y el componente que mostraremos:

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

Ahora abramos ProductsList.jsx en la carpeta products y modifiquemos un poco el código para dispProducts. Ahora tenemos una página separada con información completa sobre cada producto. Esto significa que en la lista de productos mostraremos solo el nombre del producto y un texto de descripción abreviado. También agregaremos un enlace en forma de elemento de navegación Link de la biblioteca del enrutador, al hacer clic en el cual se podrá acceder a la página del producto. Agreguemos también una clase product-excerpt a la div, para separar los productos. Ahora nuestro código para dispProducts será así:

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> ))

Importemos Link:

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

Y agreguemos estilos para las clases link-btn y product-excerpt en 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; }

Finalmente, hagamos también funcional el enlace en el menú de la izquierda, que lleva a la página con la lista de productos, para que podamos acceder a él desde cualquier otro lugar. Para ello, abramos nuestro root.jsx y reemplacemos esta línea de código:

<a>Products</a>

Por la siguiente:

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

Tampoco olvidemos importar NavLink de la biblioteca para React Router:

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

Ejecutemos nuestra aplicación. Ahora podemos acceder a la página de información sobre cualquier producto, haciendo clic en el botón de visualización. Intente ahora agregar un nuevo producto y vea la información sobre él en una página separada haciendo clic en el botón de visualización. También ahora, para volver a la lista de productos basta con hacer clic en 'Products' en el menú de la izquierda. Estando en diferentes páginas, observe cómo cambia la URL en la barra de direcciones del navegador.

Abra su aplicación con los estudiantes. En el archivo App.jsx cree otra ruta hija para la página del estudiante.

En el archivo StudentsList.jsx introduzca en el código cambios para dispStudents, como se muestra en la lección.

Haga que el enlace 'Students' en el menú izquierdo lleve a la página con la lista de estudiantes. Compruebe que todo funcione.

Observe cómo cambiará el valor en la barra de direcciones del navegador, dependiendo de en qué página se encuentra ahora.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar