Aplicaciones React de una sola página con los módulos React-Router y React-Transition-Group

Este tutorial lo guiará a través del uso de los módulos de enrutador de reacción y grupo de transición de reacción para crear aplicaciones React de varias páginas con animaciones de transición de página..

Preparando la aplicación React

Instalación del paquete create-react-app

Si alguna vez has tenido la oportunidad de probar React, probablemente hayas oído hablar del crear-reaccionar-aplicación paquete, que hace que sea muy fácil comenzar con un entorno de desarrollo React.

En este tutorial, usaremos este paquete para iniciar nuestra aplicación React..

Entonces, en primer lugar, asegúrese de tener Node.js instalado en su computadora. También instalará npm para ti.

En tu terminal, corre npm install -g create-react-app. Esto se instalará globalmente crear-reaccionar-aplicación en tu ordenador.

Una vez hecho esto, puede verificar si está allí escribiendo crear-reaccionar-app -V.

Creando el Proyecto React

Ahora es el momento de construir nuestro proyecto React. Solo corre crear-reaccionar-aplicación multi-página-aplicación. Usted puede, por supuesto, reemplazar aplicación de varias páginas con lo que quieras.

Ahora, crear-reaccionar-aplicación creará una carpeta llamada aplicación de varias páginas. Sólo tipo cd multi-page-app para cambiar el directorio, y ahora ejecuta npm start para inicializar un servidor local.

Eso es todo. Tiene una aplicación React ejecutándose en su servidor local.

Ahora es el momento de limpiar los archivos predeterminados y preparar nuestra aplicación.

En tus src carpeta, borrar todo pero App.jsindex.js. Luego abrir index.js y reemplaza el contenido con el siguiente código.

importar reaccionar desde 'reaccionar'; importar ReactDOM desde 'react-dom'; Importar aplicación desde './App'; ReactDOM.render (, document.getElementById ('root')); 

Básicamente eliminé el registroServicioTrabajador líneas relacionadas y también la importar './index.css'; línea.

Además, reemplace su App.js archivo con el código de abajo.

importar React, Componente desde 'reaccionar'; la aplicación de clase extiende el Componente render () return ( 
); exportar la aplicación por defecto;

Ahora instalaremos los módulos necesarios..

En su terminal, escriba los siguientes comandos para instalar el enrutador de reaccióngrupo de transición reactiva módulos respectivamente.

npm install react-router-dom --save

npm install [email protected] --save

Después de instalar los paquetes, puede comprobar la paquete.json archivo dentro de su directorio principal del proyecto para verificar que los módulos están incluidos en dependencias.

Componentes de enrutador

Hay básicamente dos opciones de enrutador diferentes: HashRouterBrowserRouter.

Como su nombre indica, HashRouter utiliza hashes para realizar un seguimiento de sus enlaces, y es adecuado para servidores estáticos. Por otro lado, si tiene un servidor dinámico, es una mejor opción para usar BrowserRouter, Teniendo en cuenta el hecho de que tus URL serán más bonitas.

Una vez que decida cuál debe usar, simplemente continúe y agregue el componente a su index.js expediente.

importar HashRouter desde 'react-router-dom'

Lo siguiente es envolver nuestro  componente con el componente enrutador.

Así que tu final index.js el archivo debería verse así:

importar reaccionar desde 'reaccionar'; importar ReactDOM desde 'react-dom'; importar HashRouter desde la aplicación de importación 'react-router-dom' desde './App'; ReactDOM.render (, document.getElementById ('root')); 

Si está utilizando un servidor dinámico y prefiere usar BrowserRouter, La única diferencia sería importar el BrowserRouter y usándolo para envolver el  componente.

Envolviendo nuestro  componente, estamos sirviendo a la historia objetar a nuestra aplicación, y por lo tanto otros componentes de enrutador de reacción pueden comunicarse entre sí.

Dentro Componente

Dentro de nuestro  componente, tendremos dos componentes nombrados 

. Como lo indican los nombres, mantendrán el menú de navegación y el contenido mostrado respectivamente.

Crea una carpeta llamada "componentes" en tus src directorio, y luego crear el Menu.jsContent.js archivos.

Menu.js

Vamos a completar nuestro Menu.js componente.

Será un componente funcional sin estado ya que no necesitamos estados ni ganchos de ciclo de vida.

importar Reaccionar desde 'reaccionar' const Menu = () => return ( 
  • Casa
  • Trabajos
  • Acerca de
) exportar por defecto el menú

Aquí tenemos un