⊗jsrxPmRDPP 21 of 57 menu

Página de producto en Redux

En esta lección crearemos una página separada para mostrar información sobre un producto específico.

Abramos nuestra aplicación de productos y en la carpeta products creemos el archivo ProductPage.jsx. Como recordarás, cada uno de nuestros productos tiene un id único. Gracias a este id podremos generar una URL única para la página de cada producto. Tradicionalmente se verá como: /products/id123. Y el id estará contenido en su parte dinámica (nos ocuparemos de la ruta en sí un poco más adelante).

Entonces, en ProductPage.jsx creemos un componente vacío ProductPage:

export const ProductPage = () => {}

Lo primero que haremos aquí es usar el hook useParams, para extraer la parte dinámica de la URL de la página del producto en la que nos encontramos:

export const ProductPage = () => { let params = useParams() const { productId } = params }

Luego, por el id obtenido buscaremos el producto necesario en el slice products en el store, usando el hook useSelector que ya conocemos:

const product = useSelector((state) => state.products.find((product) => product.id === productId) )

No olvidemos importar ambos hooks en el archivo:

import { useSelector } from 'react-redux' import { useParams } from 'react-router-dom'

Si el producto que necesitamos no se encuentra (por ejemplo, el usuario ingresó una dirección incorrecta), entonces mostraremos información sobre esto en pantalla. En este paso, el código para el componente ProductPage debería verse así:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>No existe tal producto</p> } }

Y solo nos queda mostrar los datos obtenidos del producto en el maquetado:

return ( <div> <h2>{product.name}</h2> <p>Descripción: {product.desc}</p> <p>Precio: {product.price}</p> <p>Cantidad: {product.amount}</p> </div> )

Abra su aplicación de estudiantes. En la carpeta students cree el archivo StudentPage.jsx, en el cual obtendrá y mostrará información sobre el estudiante seleccionado.

Con el hook de react-redux useSelector obtenga la información necesaria sobre el estudiante, como se muestra en la lección.

Muestre en el componente la información obtenida sobre el estudiante en pantalla.

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