⊗jsrxPmRDInr 20 of 57 menu

Trabajo con datos en Redux

En la sección anterior implementamos un esquema básico de trabajo de Redux y ahora conoces los principios principales de funcionamiento de una aplicación Redux. En las siguientes lecciones, comenzaremos a agregar funcionalidad a nuestra aplicación de productos y trabajaremos con los datos.

Dado que la aplicación se irá llenando de nuevos componentes y rutas, hagamos una cosa con el enrutamiento. Abra la aplicación de productos, luego el archivo root.jsx. Importe en él el componente Outlet, y elimine las líneas con la importación de ProductsList y NewProductForm:

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

Ahora el componente Root se mostrará en la ruta raíz '/', y todos los otros componentes en las rutas hijas dentro de Outlet. Para ello, corrijamos un poco el maquetado del div #main-page para el componente Root:

<div id="main-page"> <h2>My Products App</h2> <hr></hr> <NewProductForm /> <ProductsList /> </div>

Aquí pondremos Outlet en lugar de los componentes NewProductForm y ProductsList:

<div id="main-page"> <h2>My Products App</h2> <hr></hr> <Outlet /> </div>

Ahora mostraremos el formulario para agregar productos en ProductsList. Abramos el archivo de este componente y agreguemos la importación del formulario:

import { NewProductForm } from './NewProductForm'

Y ahora agreguemos el componente del formulario justo antes de la lista de productos. Ahora nuestro maquetado se verá así:

return ( <div> <NewProductForm /> <div> <h2>Products</h2> {dispProducts} </div> </div> )

Añadamos el estilo para la clase products-list en index.css:

.products-list { display: flex; flex-direction: column; }

Solo nos queda hacer los cambios en el componente principal App. Abramos App.jsx e importemos en él el componente ProductsList:

import { ProductsList } from './parts/products/ProductsList'

Luego, para nuestra única ruta por ahora, que es la raíz, agreguemos la propiedad children:

const router = createBrowserRouter([ { path: '/', element: <Root />, children: [] }, ])

Y escribamos como valor de esta propiedad la primera ruta hija. Como ruta establezcamos 'products'. Ahora en esta dirección se mostrará nuestra lista de productos ProductsList:

children: [ { path: '/products', element: <ProductsList />, }, ],

Ejecutemos nuestra aplicación y asegurémonos de que no hayamos roto nada. En la raíz '/' vemos solo el título. Y el formulario y la lista de productos se han escondido en la dirección '/products'.

Abra su aplicación de estudiantes. En el archivo root.jsx reemplace los componentes StudentsList y NewStudentForm por Outlet.

Ahora permita que el formulario para agregar un estudiante se muestre en su StudentsList.

Realice los cambios en su componente principal App. Agregue a la ruta raíz una hija, con la ruta '/students', mediante la cual se mostrará su StudentsList. Ejecute la aplicación y asegúrese de que todo funcione.

bydeenesfrptru