fluxible-plugin-dynamic-routr v0.2.1
A Dynamic Routr Plugin for Fluxible
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 settingsoptions.storeName
(required): The storeName of the Storeoptions.storeEvent
(required): The name of the event from the Storeoptions.dehydrateRoutes
(optional): A function to transform from fluxible routes to a flat formatoptions.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 paramsactionContext.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.