A small routing adapter for Redux web apps.
The default export is a function
createRouter which takes a single
store argument. Pass a reference to your Redux store into this function and the router will use it to dispatch navigation actions.
import createRouter from '@density/conduit';import store from './store';const router = createRouter(store);
This function returns a router instance with the following API:
Pass a rails-style path and a Redux action into this function to register a new route. Paths should not have leading or trailing slashes. Any page navigation that matches the provided path will dispatch the provided action. Route parameters will be passed in as arguments to the action, in the order they appear in the path.
Pass a rails-style path and an object containing values for any route parameters. The router will generate a new hash value and update
window.location.hash, prepending a single forward slash.
Match a literal
path (no colons) against all routes and dispatch the matching action, passing in route parameters.
path defaults to
window.location.hash with leading and trailing slashes stripped out.
The router instance methods are also exported from this module, with arguments for passing in a list of routes and a Redux store on each call. Check the source.