Latest version : 0.1.2

 Last updated on 2019-01-24T15:51:42.640Z

 Keywords : redux, router, react

 Downloads :

  • 88 in Last Month

 Links :


No examples found for this package


Air Traffic Control

License Build Status [npm]()

Dead simple redux routing, the way it should work. Originally created by @airshanemode and @jfyles with help from the Crossroads routing library for use in Airplane Mode.

Table of Contents

How it works

Air Traffic Control maps route changes in your app to action creators in redux.


Route changes are actions, just like mouse clicks. They should be handled in a consistent way, and they should certainly be kept out of your views.


$ npm install --save air-traffic-control


const Router = require('air-traffic-control').Router;

// import your action creators
const ACTION_CREATORS = require('./actions').ACTION_CREATORS;

// import your redux store
const store = require('./store');

// initialize the router
// if you want local links to be automatically fed into the router,
// pass the interceptLinks: true option.
// This means you can write local links with <a href="/foo"> and they'll just work.
const router = new Router(store, { interceptLinks: true }); // TODO: interceptLinks true as default?

// register any routes you want
router.route('/home', () => ACTION_CREATORS.goHome());

// route params are provided as arguments to your handler, they go in {these}
router.route('/search/{query}', (query) =>;

// if you want more control, you can use regexes in your routes
// matched groups are passed to your handler in order
// this one matches: /trip/chicago-to-vegas/username/2017/09/01/{id}
router.route(/^\/trip\/(?:[-a-zA-Z0-9()']+\/){5}([-a-zA-Z0-9_]+)$/, (id) => ACTION_CREATORS.trip(id));

// you'll probably want a default / 404 handler
router.route(':rest:*', () => ACTION_CREATORS.notFound());

// once you're all set and you want to start routing, call:


You can check out the full license here

This project is licensed under the terms of the MIT license.