Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.19 KB

QuerySupport.md

File metadata and controls

33 lines (25 loc) · 1.19 KB

Query Support

Support for parsing and serializing URL queries is provided by the useQueries enhancer function. Simply use a wrapped version of your createHistory function to create your history object and you'll have a parsed location.query object inside listen and listenBefore callbacks.

import { createHistory, useQueries } from 'history'

const history = useQueries(createHistory)()

history.listen(function (location) {
  console.log(location.query)
})

If you need custom query parsing and/or serialization, you can override either using the parseQueryString and stringifyQuery options, respectively.

const history = useQueries(createHistory)({
  parseQueryString: function (queryString) {
    // TODO: return a parsed version of queryString
  },
  stringifyQuery: function (query) {
    // TODO: return a query string created from query
  }
})

Query-enhanced histories accept URL queries as the query key for push, replace, createPath, and createHref.

history.createPath({ pathname: '/the/path', query: { the: 'query' } })
history.push({ pathname: '/the/path', query: { the: 'query' } })