react-pushstate-anchor
v0.3.1
Published
## What is it?
Downloads
17
Readme
React PushState Anchor
What is it?
React PushState Anchor provides three components for performing client-side push state navigation. There's no routing or complex state management. Just three components
<PushStateAnchorProvider />
Wrap your entire application or just the part of the application you want to use pushState in.
<PushStateAnchor />
A replacement for <a>
tags that will use history.pushState
under the hood.
import { PushStateAnchor as A } from 'react-pushstate-anchor'
<A href='/home'>Home</A>
PushStateLocation />
If you're updating history, you'll probably want to know when it's been updated. Use PushStateLocation
component to get the current history location object, it'll update whenever a PushStateAnchor
is clicked.
A utitlity component that will provide the current history location using a render callback.
import { PushStateLocaation } from 'react-pushstate-anchor'
<PushStateLocation>
{location => {
<h1>The current pathname is {location.pathname}</h1>
)}
</PushStateLocation>
Installation
Install from NPM, react-pushstate-anchor
requires the history
module as a peer dependency.
yarn add react-pushstate-anchor history
Usage
import React, { Component } from 'react'
import { PushStateAnchorProvider, PushStateLocation, PushStateAnchor as Psa } from 'react-pushstate-anchor'
class App extends Component {
render() {
return (
<PushStateAnchorProvider>
<h1>Push State Anchor</h1>
<Psa href='/home'><button>Home</button></Psa>
<Psa href='/about'><button>About</button></Psa>
<Psa href='/careers'><button>Careers</button></Psa>
<PushStateLocation>
{location => (
<h1>{location.pathname}</h1>
)}
</PushStateLocation>
</PushStateAnchorProvider>
)
}
}
export default App
react-pushstate-anchor
will render a simple <a>
anchor tag if JavaScript is unavailable.