react-fast-routes

React fast routes

Usage no npm install needed!

<script type="module">
  import reactFastRoutes from 'https://cdn.skypack.dev/react-fast-routes';
</script>

README

react-fast-routes

Install

npm install react react-router-dom react-fast-routes

Use

import React from 'react'
import {Redirect, HashRouter} from 'react-router-dom'
import {Router, Routes} from 'react-fast-routes'

function RedirectMiddleware(redirect = false, path) {
    return function (Component) {
        return function () {
            if (redirect) {
                return <Redirect to={path}/>
            }

            return <Component/>
        }
    }
}

const routeNames = {
    home: 'home',
    about: 'about',
}

function Home() {
    return (
        <Link to={routes.path(routeNames.home)}>
            {routes.title(routeNames.home)}
        </Link>
    )
}

function About() {
    return 'About'
}

const routes = Routes()
    .set(routeNames.home, 'Home', '/', Home)
    .set(routeNames.about, 'About', '/about', About, [RedirectMiddleware(true, routeNames.home)])

function App() {
    return <Router RouterDriver={HashRouter} routes={routes}/>
}