mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
38822717a9
* Add support for URL objects in Link and Router * Fix typo in comment * Fix possible bug if the `href` prop is `null` * Document the usage of URL objects in Link and Router * Update readme.md * Parse URL to get the host & hostname in `isLocal` This should check if the current location and the checked URL have the same `host` or `hostname`. * Format `as` parameter from object to string if required * Format `href` and `as` inside the construct and componentWillReceiveProps * Use `JSON.stringify` to compare objects * Add usage example * chore(package): update chromedriver to version 2.28.0 (#1386) https://greenkeeper.io/ * Refactor the codebase a bit. * Change the example name. * Add a few test cases. * Add the example to the README.
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
import Link from 'next/link'
|
|
import { Component } from 'react'
|
|
import Router from 'next/router'
|
|
|
|
let counter = 0
|
|
|
|
const linkStyle = {
|
|
marginRight: 10
|
|
}
|
|
|
|
export default class extends Component {
|
|
increase () {
|
|
counter++
|
|
this.forceUpdate()
|
|
}
|
|
|
|
visitQueryStringPage () {
|
|
const href = { pathname: '/nav/querystring', query: { id: 10 } }
|
|
const as = { pathname: '/nav/querystring/10', hash: '10' }
|
|
Router.push(href, as)
|
|
}
|
|
|
|
render () {
|
|
return (
|
|
<div className='nav-home'>
|
|
<Link href='/nav/about'><a id='about-link' style={linkStyle}>About</a></Link>
|
|
<Link href='/empty-get-initial-props'><a id='empty-props' style={linkStyle}>Empty Props</a></Link>
|
|
<Link href='/nav/self-reload'><a id='self-reload-link' style={linkStyle}>Self Reload</a></Link>
|
|
<Link href='/nav/shallow-routing'><a id='shallow-routing-link' style={linkStyle}>Shallow Routing</a></Link>
|
|
<Link
|
|
href={{ pathname: '/nav/querystring', query: { id: 10 } }}
|
|
as={{ pathname: '/nav/querystring/10', hash: '10' }}
|
|
>
|
|
<a id='query-string-link' style={linkStyle}>QueryString</a>
|
|
</Link>
|
|
<button
|
|
onClick={() => this.visitQueryStringPage()}
|
|
style={linkStyle}
|
|
id='query-string-button'
|
|
>
|
|
Visit QueryString Page
|
|
</button>
|
|
|
|
<p>This is the home.</p>
|
|
<div id='counter'>
|
|
Counter: {counter}
|
|
</div>
|
|
<button id='increase' onClick={() => this.increase()}>Increase</button>
|
|
</div>
|
|
)
|
|
}
|
|
}
|