capybara-router
Installation
npm install capybara-router --save
Live demo
https://kelp404.github.io/capybara-router/
Example
/example
const router = require('capybara-router');
const history = require('history');
const axios = require('axios');
const Home = require('./pages/home');
const ErrorPage = require('./pages/error-page');
router.setup({
history: history.createBrowserHistory(),
routes: [
{
name: 'web',
uri: '/',
resolve: {
data: (params) => {
axios({
method: 'get',
url: "/data/#{params.id}.json"
}).then((response) => {
return response.data;
});
}
},
component: Home
}
],
errorComponent: ErrorPage
});
API
setup()
setup = (args = {}) ->
###
@param args {object}
history {history}
routes {list<route>}
errorComponent {React.Component}
###
reload()
reload = ->
###
Reload root router view.
###
go()
go = (args = {}) ->
###
@param args {object}
1. use href:
href {string}
2. use route name with params:
name {string}
params {object}
###
listen()
listen = (event, func) ->
###
@param event {string} "ChangeStart|ChangeSuccess|ChangeError"
@param func {function}
ChangeStart: (action, toState, fromState, cancel) ->
ChangeSuccess: (action, toState, fromState) ->
ChangeError: (error) ->
@returns {function} Eval this function to stop listen.
###