0.0.2 • Published 12 months ago

maurobrandan-router v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
12 months ago

Crea un React Router desde cero

  • Crear una forma de hacer MPAs (Multiple Page Application)
  • Crea una forma de hacer SPAs (Single Page Applications)
  • Poder navegar entre páginas con el botón de atrás
  • Crear componente Link para hacerlo declarativo
  • Crear componente Router para hacerlo más declarativo
  • Soportar ruta por defecto (404)
  • Soportar rutas con parámetros
  • Componente <Route /> para hacerlo declarativo
  • Lazy Loading de las rutas
  • Testing
  • Publicar el paquete en NPM

Uso

Instalación

npm i maurobrandan-router

El proyecto debe contar con las dependencias de react y react-dom

Router

Proveedor de rutas. Puede recibir un array de rutas a renderizar y un componente por default en caso de que ninguna ruta coincida. También puede renderizar como hijo el componente Route para declarar una ruta.

import { Router } from 'maurobrandan-router'

const routes = [
	{
		path: '/home',
		Component: () => <h1>Home Page</h1>
	}
]

function App() {
	return (
		<main>
			<Router routes={routes} defaultComponent={NotFoundPage}>
				<Route />
			</Router>
		</main>
	)
}

export default App

Route

El componente Route sirve para declarar una ruta, recibe el path y el componente a renderizar.

import { Router, Route } from 'maurobrandan-router'

function App() {
	return (
		<main>
			<Router defaultComponent={NotFoundPage}>
				<Route path='/about' Component={() => <h1>About Page</h1>} />
			</Router>
		</main>
	)
}

export default App

Link

El componente Link sirve para navegar entre paginas manteniendo el comportamiento de una SPA y renderizando un elemento <a>, el cual permite el comportamiento por defecto. Este recibe las propiedades to para indicar la ruta a donde hará la navegación, y target para especificar dónde abrir el documento.

import { Link } from 'maurobrandan-router'

export default function HomePage() {
	return (
		<>
			<h1>My React Router</h1>
			<p>Pagina de ejemplo para crear un React Router propio desde cero</p>
			<Link to='/about'>Ir a Sobre Mi</Link>
		</>
	)
}
0.0.2

12 months ago

0.0.1

12 months ago