You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Warning
This is a beta release, and the API will be completely unstable.
Expect any change to be breaking until a proper API is ironed out.
Install
npm install --save @mrbarrysoftware/hyperapp-router
# or
yarn add @mrbarrysoftware/hyperapp-router
Usage
import{app,h,text}from'hyperapp';importwithRouter,{effects}from'@mrbarrysoftware/hyperapp-router';constGoToHref=(state,{ href })=>[state,effects.Navigate({ href }),// where href is a string, like `/route/path/here`];withRouter(app)({router: {// Optional base url for the app.// Use this if your app runs from anywhere that// isn't at the root of the server.// Defaults to '/'baseUrl: '/foo',// Optional action ran every push/pop state// Useful when you just need navigation to// set something in stateRouteAction: (state,{ params, path })=>({
...state,}),// Optional boolean// Prevents the router from capturing every// click on an anchor and attempting to route// it. Removing this means you will need to// add custom actions and effects to allow// navigation with the router.// If not set, the default is false, and that's// probably what you want.disableAnchorCapture: false,routes: {'/': {// Optional Action to run when entering this routeOnEnter: (state,params)=>({
...state,}),// Optional Action to run when leaving this routeOnLeave: (state,params)=>({
...state,}),},},},init: {},view: state=>{returnh('div',null,text('Your app here...'));},node: document.querySelector('#app'),});