react-router-fuzzy

0.1.0 • Public • Published

react-router-fuzzy

A react-router wrapper for handling incorrect routes using fuzzy search.

NPM JavaScript Style Guide

Install

npm install --save react-router-fuzzy

Usage

react-router-fuzzy provides a wrapper, withFuzzy for Switch component of react-router-dom. It also requires Route to be sent as it adds a default 404 route as a child to Switch. This component displays a list of nearest routes to the current path, if no matching route is found. You can specify your own 404 component, which then receives a nearest prop, which is an array of results as per fuzzyset.js output.

import React, { Component } from 'react'
import { Switch, Route } from 'react-router-dom'
import withFuzzy from 'react-router-fuzzy'
 
const WrappedSwitch = withFuzzy(Switch, Route)
 
const custom404 = props => {
  //custom component receives 'nearest' as a prop
  return <div>{props.nearest.map(n => <i>{n[1]}</i>)}</div>
}
 
export default class SomeComponent extends Component {
  render () {
    return (
      <WrappedSwitch notFound={custom404}>
        <Route path="/about" render={props => <div>About</div>} />
        <Route path="/docs" render={props => <div>Docs</div>} />
        <Route path="/pricing" render={props => <div>Pricing</div>} />
        <Route path="/contact" render={props => <div>Contact</div>} />
      </WrappedSwitch>
    )
  }
}
 

License

MIT © mohitk05

/react-router-fuzzy/

    Package Sidebar

    Install

    npm i react-router-fuzzy

    Weekly Downloads

    0

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    82.7 kB

    Total Files

    7

    Last publish

    Collaborators

    • mohitk05