You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cada vista se implementa como su propio componente. Almacenamos la información del componente de vista en el estado de la aplicación llamado <i>page</i>. Esta información nos dice qué componente, que representa una vista, debe mostrarse debajo de la barra de menú.
97
97
98
-
Sin embargo, el método no es muy óptimo. Como podemos ver en las imágenes, la dirección permanece igual aunque a veces estemos en diferentes vistas. Cada vista debe tener preferiblemente su propia dirección, por ejemplo, para hacer posible la creación de marcadores. El botón de <i>retroceso</i> tampoco funciona como se esperaba para nuestra aplicación, lo que significa que el botón de retroceso no lo mueve a la vista mostrada anteriormente de la aplicación, sino a un lugar completamente diferente. Si la aplicación creciera aún más y quisiéramos, por ejemplo, agregar vistas separadas para cada usuario y nota, entonces este <i>routing</i>(enrutamiento) hecho por nosotros mismos se volvería demasiado complicado, ya que administraríamos la navegación de la aplicación.
98
+
Sin embargo, el método no es muy óptimo. Como podemos ver en las imágenes, la dirección permanece igual aunque a veces estemos en diferentes vistas. Cada vista debe tener preferiblemente su propia direcciónpara hacer posible la creación de marcadores. El botón de <i>retroceso</i> tampoco funciona como se esperaba para nuestra aplicación, lo que significa que el botón de retroceso no lo mueve a la vista mostrada anteriormente de la aplicación, sino a un lugar completamente diferente. Si la aplicación creciera aún más y quisiéramos, agregar vistas separadas para cada usuario y nota, entonces este <i>routing</i>(enrutamiento) hecho por nosotros mismos se volvería demasiado complicado, ya que administraríamos la navegación de la aplicación.
99
99
100
100
### React Router
101
101
102
-
Afortunadamente, React tiene la librería [React router](https://github.com/ReactTraining/react-router), que proporciona una excelente solución para administrar la navegación en una aplicación React.
102
+
Afortunadamente, React tiene la librería [React Router](https://github.com/ReactTraining/react-router), que proporciona una excelente solución para administrar la navegación en una aplicación React.
103
103
104
-
Cambiemos la aplicación anterior para usar React router. Primero, instalemos React router con el comando
104
+
Cambiemos la aplicación anterior para usar React Router. Primero, instalemos React Router con el comando
105
105
106
106
```bash
107
107
npm install react-router-dom
@@ -160,15 +160,15 @@ Según el [manual de la v5](https://v5.reactrouter.com/web/api/BrowserRouter):
160
160
161
161
Normalmente, el navegador carga una nueva página cuando cambia la URL en la barra de direcciones. Sin embargo, con la ayuda de la [API de historial HTML5](https://css-tricks.com/using-the-html5-history-api/), <i>BrowserRouter</i> nos permite usar la URL en la barra de direcciones del navegador para el "routing" interno en una aplicación React. Por lo tanto, incluso si cambia la URL en la barra de direcciones, el contenido de la página solo se manipula mediante Javascript y el navegador no cargará contenido nuevo desde el servidor. Usar las acciones de avance y retroceso, así como crear marcadores, sigue siendo lógico como en una página web tradicional.
162
162
163
-
Dentro del router definimos <i>enlaces</i> que modifican la barra de direcciones con la ayuda del componente [Link](https://reactrouter.com/en/main/components/link). Por ejemplo,
163
+
Dentro del router definimos <i>enlaces</i> que modifican la barra de direcciones con la ayuda del componente [Link](https://reactrouter.com/en/main/components/link).
164
164
165
165
```js
166
166
<Link to="/notes">notes</Link>
167
167
```
168
168
169
169
crea un enlace en la aplicación con el texto <i>notes</i>, que cuando se clickea cambia la URL en la barra de direcciones a <i>/notes</i>.
170
170
171
-
Los componentes renderizados según la URL del navegador se definen con la ayuda del componente [Route](https://reactrouter.com/en/main/route/route). Por ejemplo,
171
+
Los componentes renderizados según la URL del navegador se definen con la ayuda del componente [Route](https://reactrouter.com/en/main/route/route).
172
172
173
173
```js
174
174
<Route path="/notes" element={<Notes />} />
@@ -326,7 +326,7 @@ Lo interesante de este componente es el uso de la función [useNavigate](https:/
326
326
327
327
Con el inicio de sesión del usuario, llamamos a _navigate('/')_, que hace cambiar la url del navegador a _/_ y la aplicación muestra el componente correspondiente, <i>Home</i>.
328
328
329
-
Tanto [useParams](https://reactrouter.com/en/main/hooks/use-params) como [useNavigate](https://reactrouter.com/en/main/hooks/use-navigate) son hooks, al igual que useState y useEffect que ya hemos usado muchas veces. Como recordará de la parte 1, existen algunas [reglas](/es/part1/un_estado_mas_complejo_depurando_aplicaciones_react#reglas-de-los-hooks) para usar hooks. Create-react-app se ha configurado para advertirle si rompe estas reglas, por ejemplo, llamando a un hook desde una declaración condicional.
329
+
Tanto [useParams](https://reactrouter.com/en/main/hooks/use-params) como [useNavigate](https://reactrouter.com/en/main/hooks/use-navigate) son hooks, al igual que useState y useEffect que ya hemos usado muchas veces. Como recordará de la parte 1, existen algunas [reglas](/es/part1/un_estado_mas_complejo_depurando_aplicaciones_react#reglas-de-los-hooks) para usar hooks. Create-react-app se ha configurado para advertirle si rompe estas reglas llamando a un hook desde una declaración condicional.
330
330
331
331
### redireccionar
332
332
@@ -512,7 +512,7 @@ npm install
512
512
npm start
513
513
```
514
514
515
-
### 7.1: anécdotas enrutadas, paso 1
515
+
####7.1: anécdotas enrutadas, paso 1
516
516
517
517
Agregue React Router a la aplicación para que al hacer clic en los enlaces del componente <i>Menu</i>, se pueda cambiar la vista.
518
518
@@ -522,7 +522,7 @@ En la raíz de la aplicación, es decir, la ruta _/_, muestra la lista de anécd
522
522
523
523
El componente <i>Footer</i> siempre debe estar visible en la parte inferior.
524
524
525
-
La creación de una nueva anécdota debería ocurrir, por ejemplo, en la ruta <i>create</i>:
525
+
La creación de una nueva anécdota debería ocurrir en la ruta <i>create</i>:
0 commit comments