0% encontró este documento útil (0 votos)
42 vistas38 páginas

Presentación - React Router I

Este documento presenta un plan de estudios para aprender React Router. Consiste en 4 unidades de 2 horas cada una, que incluyen clases sincrónicas, autoaprendizaje asincrónico y tutorías sincrónicas. La primera unidad cubre React Router I, la segunda Context, la tercera React Router II y la cuarta un proyecto colaborativo.

Cargado por

Orlando Soto
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas38 páginas

Presentación - React Router I

Este documento presenta un plan de estudios para aprender React Router. Consiste en 4 unidades de 2 horas cada una, que incluyen clases sincrónicas, autoaprendizaje asincrónico y tutorías sincrónicas. La primera unidad cubre React Router I, la segunda Context, la tercera React Router II y la cuarta un proyecto colaborativo.

Cargado por

Orlando Soto
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 38

React Router I

React II

Unidad Clases Autoaprendizaje Tutoría


(sincrónico) (asincrónico) (sincrónico)

React Router I 2 horas Desde 6 horas 2 horas

Context 2 horas Desde 6 horas 2 horas

React Router II 2 horas Desde 6 horas 2 horas

Trabajo colaborativo 2 horas Desde 6 horas 2 horas

Receso 0 horas 0 horas 0 horas


Activen las cámaras los que puedan y
pasemos asistencia
● Unidad 1: React Router I. Te encuentras aquí

Crear una Single Page ● Unidad 2: Context I


Application con React
utilizando React Router. ● Unidad 3: React Router II

● Unidad 4: Trabajo Práctico


Inicio Desarrollo Cierre

● Objetivo de la ● Conceptualización ● Reflexión


sesión ● Ejercitación
● Activación de
conceptos
Inicio
/* Crear un sistema de navegación basado en rutas. */

/* Crear diferentes rutas que utilicen componentes como


vistas en la aplicación. */

/* Crear una ruta por defecto enlazada a la vista Not Objetivos


Found. */
Activación de conceptos
Contesta la pregunta correctamente y gana un punto

Instrucciones:

● Se realizará una pregunta, el primero en escribir “YO” por


el chat, dará su respuesta al resto de la clase.
● El docente validará la respuesta.
● En caso de que no sea correcta, dará la oportunidad a la
segunda persona que dijo “Yo”.
● Cada estudiante podrá participar un máximo de 2 veces.
● Al final, el/la docente indicará el 1º, 2º y 3º lugar.
● Esta actividad no es calificada, es solo una dinámica
para recordar los conceptos clave para abordar esta
sesión.
Activación de conceptos

Recordando el módulo anterior

¿En qué situaciones necesitamos ocupar


useEffect?
Activación de conceptos

Recordando el módulo anterior

¿Cuáles son las fases de un componente?


Activación de conceptos

Recordando el módulo anterior

¿Para qué sirve el callback que le pasamos a


useEffect?
Activación de conceptos

Recordando el módulo anterior

¿Para qué sirve el arreglo de dependencias que


recibe useEffect?
Activación de conceptos

Primer lugar:
______________

Segundo lugar: Tercer lugar:


______________ ______________
/* Mi primera Single Page Application */
React Router
¿Qué es una SPA?

● Una Single Page Application(SPA) es una aplicación


que ofrece la navegación de su contenido basada en
rutas dentro de una misma página web sin que ésta se
tenga que recargar.

● Este tipo de aplicaciones simula el comportamiento y


fluidez de una aplicación de escritorio al renderizar
parcialmente los componentes interpretados como
vistas en función a la ruta que el usuario consulte.

● Algunos ejemplos son: Gmail, Twitter, Trello, Netflix,


Google Maps.
React Router
¿Qué es React Router?

● React Router es un paquete disponible en


NPM que nos permite dividir fácilmente una
aplicación de React en distintas URLs.

● Con React Router podemos gestionar


diferentes rutas enlazadas a diferentes
vistas, mejorando de esta manera la
usabilidad de nuestra aplicación y la
experiencia de nuestros usuarios y podemos
construir una SPA.
React Router
Setup del proyecto

● Descarga el proyecto Dogstel desde el


material de apoyo de la clase - React
Router I.
● Entra al proyecto desde el terminal e
instala los paquetes con npm install.
● Levanta el proyecto con npm run dev.
● Entra con el navegador a localhost:5173.
● También te puedes apoyar del
README.md
La aplicación de apoyo se trata de la
página de un hotel de Perros
React Router
Revisemos el código

La carpeta views también contiene componentes, pero


estos los entenderemos como Vistas en nuestro
proyecto.
React Router
Mi primer enrutador
Una vez descargado el proyecto, instala por terminal el paquete de react-router-dom

npm install react-router-dom@6

El objetivo será crear una SPA (Single Page Application) con los componentes que ya tenemos a disposición.

Construiremos un Navbar que


funcione con React Router
React Router
Mi primer enrutador
Levanta la aplicación y modifica el código del componente App para importar y agregar el componente
BrowserRouter del paquete react-router-dom y el componente Navbar.

import React from "react";


import ReactDOM from "react-dom/client";
import { BrowserRouter } from "react-router-dom";

BrowserRouter es el componente import App from "./App.jsx";


encargado de mantener actualizado el
import "bootstrap/dist/css/bootstrap.min.css";
UI en función de la URL, este debe import "./index.css";
envolver a toda la aplicación.
Todos los componentes se agregan ReactDOM.createRoot(document.getElementById("root")).render(
dentro de BrowserRouter. <React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
);
import { Container, Navbar } from "react-bootstrap";
import { Link } from "react-router-dom"; React Router
const Navigation = () => { Mi primer enrutador
return (
<Navbar
bg="dark"
variant="dark" ● Ahora, abramos el componente
> Navigation para agregar 2 Links: Home
<Container className="justify-content-start">
<Navbar.Brand>Dogstel</Navbar.Brand> y Planes
<Link
to="/"
className="text-white ms-3 text-decoration-none" ● El componente Link funciona similar a
> la etiqueta de hipervínculo(a) de HTML.
Home
</Link> ● Una diferencia importante radica en que
<Link
este componente produce el
to="/planes"
className="text-white ms-3 text-decoration-none" redireccionamiento con React Router y
>
evita la recarga del navegador.
Planes
</Link>
</Container>
</Navbar>
);
};
export default Navigation;
React Router
Mi primer enrutador
Luego, levantemos nuestra aplicación y probemos el Navbar presionando en la opción “Planes”.

Como se puede observar, la URL de


la aplicación cambia en función a
la ruta que accedemos.

Con este redireccionamiento evitamos tener que volver a consumir todos los recursos de nuestra
aplicación al evitar que se recargue el navegador.

React Router se encargará de actualizar parcialmente el DOM en función a la ruta que consultemos.
Ejercicio

Crea una nueva aplicación de React y:

1. Modifica la estructura de carpetas y archivos según el Ejercicio


ejemplo anterior.
¡Manos al teclado!
2. Instala el paquete react-router-dom

3. Crea un componente Navbar con 2 componentes Links que


dirijan a Registro y Login.

4. En el componente App, importa e incluye en el template el


BrowserRouter y el Navbar .

5. Prueba tu enrutador confirmando que cambia la URL en


función a la ruta que consultas.
/* Crear un sistema de navegación basado en rutas.*/ ✅

/* Crear diferentes rutas que utilicen componentes como


vistas en la aplicación. */

/* Crear una ruta por defecto enlazada a la vista Not Objetivos


Found. */
import { Route, Routes } from "react-router-dom";
import Navigation from "./components/Navigation"; React Router
import HomePage from "./views/HomePage"; Creación de vistas
import PlansPage from "./views/PlansPage";

const App = () => { ● Ahora que nuestra aplicación puede


return (
<div> redireccionar al usuario a diferentes rutas,
<Navigation /> es momento de definir en nuestro
<Routes>
enrutador cuáles son los componentes que
<Route
path="/" utilizará como vistas.
element={<HomePage />}
/>
● Para esto, modifica el archivo App
<Route
path="/planes" nuevamente agregando los componentes
element={<PlansPage />} Routes, Route y las 2 vistas incluidas en el
/>
</Routes>
proyecto.
</div>
);
};
export default App;
React Router
Creación de vistas
El componente Routes funciona como un envoltorio de rutas.
El componente Route define una ruta dentro de nuestro enrutador y tiene la siguiente estructura:

<Route path="/<ruta>" element={< Componente(vista) />} />

En donde el atributo path define la ruta y el atributo element el componente que se mostrará cuando
coincida el path con la URL del navegador.

Aunque se escriben varios componentes Route, solo se renderiza 1.


React Router
Creación de vistas
Ahora probemos nuevamente nuestra aplicación y comprobemos que se muestran ambas vistas en
ambas rutas:

Home Planes
Ejercicio

En la aplicación creada en el ejercicio anterior:

1. Crea 2 vistas correspondientes al Registro y al Login.


Ejercicio
¡Manos al teclado!
2. Agrega las rutas correspondientes en el enrutador.

3. Comprueba en el navegador que ambas vistas se muestran


correctamente según las rutas consultadas.
/* Crear un sistema de navegación basado en rutas. */ ✅

/* Crear diferentes rutas que utilicen componentes como


vistas en la aplicación. */ ✅

/* Crear una ruta por defecto enlazada a la vista Not Objetivos


Found. */
React Router
La ruta por defecto

● La ruta por defecto nos ayudará a poder <Routes>


personalizar y devolver una vista en caso <Route
path="/"
de que el usuario consulte nuestra página
element={<HomePage />}
web con una URL que no coincida con
/>
ninguna de nuestras rutas. <Route
path="/planes"
● Para agregar la ruta por defecto, incluye la element={<PlansPage />}
vista NotFound para que sea utilizado por />
un Route nuevo que tenga como path un <Route
asterisco: * path="*"
element={<NotFound />}
/>
</Routes>
React Router
La ruta por defecto
Si consultamos nuestra aplicación con una ruta extraña o que simplemente no coincida con ningún
componente Route, obtenemos la vista NotFound
Ejercicio

En la aplicación creada en el primer ejercicio:

1. Crea una vista NotFound.


Ejercicio
¡Manos al teclado!
2. Agrega la ruta por defecto.

3. Comprueba en el navegador que la ruta por defecto


funciona al consultar la aplicación con una URL diferente
que no coincida con ninguna de las rutas creadas.
/* Crear un sistema de navegación basado en rutas. */ ✅

/* Crear diferentes rutas que utilicen componentes como


vistas en la aplicación. */ ✅

/* Crear una ruta por defecto enlazada a la vista Not Objetivos


Found. */ ✅
Cierre
¿Existe algún concepto que no
Reflexionemos
hayas comprendido?
● Revisemos el material de estudio asincrónico en
donde repasamos los conceptos de esta clase.

¿Qué sigue?
● Revisemos el desafío de la unidad leyendo la
descripción y requerimientos.
¿Tienen alguna duda respecto al Desafío?
www.desafiolatam.com

/DesafioLatam /DesafioLatam /DesafioLatam /DesafioLatam 38

También podría gustarte