@react-nano

Search results:

    @react-nano/router

    License Minified + gzipped size NPM version Stars Watchers

    A simple, lightweight react router using hooks, written in TypeScript.

    Why Use @react-nano/router?

    • Very lightweight (see the badges above for the latest size).
    • Flexible and dead simple to use.
    • Uses the browsers history API (no bulky polyfill).
    • Does not force a matching algorithm on you. It's up to you!
      • Comes with a simple (one-liner) matching algorithm built-in for simple use-cases.
    • Written with hooks in TypeScript
    • Only has one peer dependency: React 17.0.0 or higher.
    • Liberal license: zlib/libpng

    Example

    A small example might look like this:

    import { Router } from "@react-nano/router";
    export const App = () => (
      <Router>
        <Switch>
          <Route path="/news" component={News} />
          <Route path="/fakenews" component={FakeNews} />
          {/* use "(.*)"  instead of "*" if you use path-to-regexp */}
          <Route path="*" component={Otherwise} />
        </Switch>
      </Router>
    );
    

    How to Use

    Check out the documentation

    Report Issues

    Something not working quite as expected? Do you need a feature that has not been implemented yet? Check the issue tracker and add a new one if your problem is not already listed. Please try to provide a detailed description of your problem, including the steps to reproduce it.

    Contribute

    Awesome! If you would like to contribute with a new feature or submit a bugfix, fork this repo and send a pull request. Please, make sure all the unit tests are passing before submitting and add new ones in case you introduced new features.

    License

    @react-nano has been released under the zlib/libpng license, meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. Credits are appreciated but not mandatory.