node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »

fluxible-plugin-dynamic-routr

A Dynamic Routr Plugin for Fluxible

npm version Build Status Dependency Status devDependency Status Coverage Status

Deprecated

This package has been deprecated in favor of fluxible-router. It's a major change, but fluxible-router comes with a great RouteStore and supportive components that get even more routing code out of your project. You also get to leave mixins behind, which aligns you with future React.

For help:

  1. Here is the main diff of my conversion to fluxible-router.
  2. If you have dynamic routing actions that transform to/from functions, this still works great in fluxible-router, but you have to handle re/dehydration yourself. I chose extending the fluxible-router RouteStore as the least impactful change that also aligns with Yahoo. Here my RouteStore extension, which follows the pattern Yahoo uses for static routes.
  3. Here is the yahoo guide on upgrading to fluxible-router.

Usage

Provides dynamic routing methods to your Fluxible application using routr.

var Fluxible = require('fluxible');
var routrPlugin = require('fluxible-plugin-routr');
var app = new Fluxible();
 
var pluginInstance = routrPlugin({
    storeName: 'RoutesStore', // storeName of the Store event source 
    storeEvent: 'change'      // Any event from that Store 
});
 
app.plug(pluginInstance);

A more complete example usage in an isomorphic fluxible application is found here

Routr Plugin API

Constructor(options)

Creates a new routr plugin instance with the following parameters:

  • options: An object containing the plugin settings
  • options.storeName (required): The storeName of the Store
  • options.storeEvent (required): The name of the event from the Store
  • options.dehydrateRoutes (optional): A function to transform from fluxible routes to a flat format
  • options.rehydrateRoutes (optional): A function to transform from a flat format to fluxible routes

Instance Methods

getRoutes

getter for the routes option passed into the constructor.

// returns the full routes object
// undefined before updated or rehydrated
pluginInstance.getRoutes();

actionContext Methods

Provides full access to the routr instance. See routr docs for more information.

  • actionContext.router.makePath(routeName, routeParams): Create a URL based on route name and params
  • actionContext.router.getRoute(path): Returns matched route

License

This software is free to use under the LocalNerve BSD license. See the LICENSE file for license text and copyright information.