Una segunda página y un link
Creemos una página "Acerca de" (about) para nuestro blog de modo que todo el mundo sepa apreciar nuestro genio. Nuevamente usamos redwood
:
Tenga en cuenta que esta vez no especificamos una ruta como último argumento. Si omite el argumento al ejecutar redwood generate page
, Redwood creará una Route
y con el mismo camino que el nombre de la página y prefijando una barra. En este caso: /about
.
Dividiendo el código (code-split) de cada página
A medida que se agregan más páginas a la aplicación, nos preocuparíamos de que cada vez más y más código tenga que ser descargado por el usuario en toda carga de inicial de la página. ¡No tema! Redwood automáticamente dividirá código de cada página, lo que significa que las cargas iniciales de las páginas serán muy rápidas, y puede crear tantas páginas como desee sin preocuparse por el tamaño del paquete producido por Webpack. Sin embargo, si desea que se incluyan ciertas páginas en el paquete principal, puede sobreescribir el comportamiento predeterminado.
http://localhost:8910/about debería mostrar nuestra nueva página. Pero como nadie va a encontrarla cambiando la URL a mano vamos a añadir un link desde nuestra página de inicio y viceversa. Empezaremos creando, a la vez, una cabecera (header) y una navegación (nav) en la página de inicio:
Señalemos algunas cosas:
A Redwood le encanta componentes funcionales. Haremos un uso extenso de Hooks React y estos sólo están habilitados en componentes funcionales. Usted es libre de usar componentes de clase, pero le recomendamos evitarlos a menos que necesite sus capacidades especiales.
El componente
<Link>
de Redwood, en su forma más básica, usa sólo el atributoto
. El atributoto
llama a una función de ruta con nombre para obtener la URL correspondiente. Dicha función tiene el mismo nombre que el atributoname
en el componente<Route>
:<Route path="/about" page={AboutPage} name="about" />
Si no te gusta el nombre que
redwood generate
usó para la ruta, ¡siéntase libre de cambiarlo enRoutes.js
! Las rutas con nombre son geniales porque si alguna vez cambias el camino asociado a una ruta, solo necesitas cambiarla enRoutes.js
y cada link apuntará al lugar correcto pues usa la función de ruta con nombre. También puedes usar el atributoa
pero perderá las bondades que Redwood proporciona con las rutas con nombre.
#
De vuelta al inicioUna vez que navegamos a la página "about" no tenemos forma de volver, así que añadamos un Link allí también:
¡Muy bien! Compruebe en el navegador que puede ir hacia adelante y hacia atrás.
Como desarrollador de clase mundial probablemente haya visto que esto de copiar y pegar <header>
no es prolijo. Le entendemos bien. Por eso Redwood permite usar plantillas llamadas Layouts.