Router component - Palmabit-IT/Sacajawea GitHub Wiki
// pages/blog.js
import React from 'react'
import {Router} from '../routes'
export default class Blog extends React.Component {
handleClick () {
// With route name and params
Router.pushRoute('blog', {slug: 'hello-world'})
// With route URL
Router.pushRoute('/blog/hello-world')
}
render () {
return (
<div>
<div>{this.props.url.query.slug}</div>
<button onClick={this.handleClick}>Home</button>
</div>
)
}
}
API:
Router.pushRoute(route)
Router.pushRoute(route, params)
Router.pushRoute(route, params, locale)
Router.pushRoute(route, params, locale, options)
Arguments:
-
route
- Route name or URL to match -
params
- Optional parameters for named routes -
locale
- Route locale -
options
- Passed to Next.js
The same works with .replaceRoute()
and .prefetchRoute()
It generates the URLs and calls next/router
Optionally you can provide custom Link
and Router
objects, for example:
const routes = module.exports = require('next-routes')({
Link: require('./my/link')
Router: require('./my/router')
})