Noodle Printing Machine

    router5
    TypeScript icon, indicating that this package has built-in type declarations

    8.0.1 • Public • Published

    Router5

    npm version License: MIT Build Status Join the chat at https://gitter.im/router5/router5 styled with prettier

    Official website: router5.js.org

    router5 is a framework and view library agnostic router.

    • view / state separation: router5 processes routing instructions and outputs state updates.
    • universal: works client-side and server-side
    • simple: define your routes, start to listen to route changes
    • flexible: you have control over transitions and what happens on transitions
    import createRouter from 'router5'
    import browserPlugin from 'router5-plugin-browser'
     
    const routes = [
      { name: 'home', path: '/' },
      { name: 'profile', path: '/profile' }
    ]
     
    const router = createRouter(routes)
     
    router.usePlugin(browserPlugin())
     
    router.start()

    With React (hooks)

    import React from 'react'
    import ReactDOM from 'react-dom'
    import { RouterProvider, useRoute } from 'react-router5'
     
    function App() {
      const { route } = useRoute()
     
      if (!route) {
        return null
      }
     
      if (route.name === 'home') {
        return <h1>Home</h1>
      }
     
      if (route.name === 'profile') {
        return <h1>Profile</h1>
      }
    }
     
    ReactDOM.render(
      <RouterProvider router={router}>
        <App />
      </RouterProvider>,
      document.getElementById('root')
    )

    With observables

    Your router instance is compatible with most observable libraries.

    import { from } from 'rxjs/observable/from'
     
    from(router).map(({ route }) => {
      /* happy routing */
    })

    Examples

    Docs

      This feature is exclusive to Teams

      Illustration of wombats

      The package file explorer is only available for Teams at the moment.

      We may support exploring this package in the future. Check back soon.

      Install

      npm i router5

      DownloadsWeekly Downloads

      20,517

      Version

      8.0.1

      License

      MIT

      Unpacked Size

      85.3 kB

      Total Files

      23

      Last publish

      Collaborators

      • troch