Quick Start

Quick Start


react-search-params is a simple hook to control current url. Also provides some methods that extend URLSearchParams.

Features

  • Add’s beforeURLChange and URLChange event to native javascript.
  • Has no dependencies.
  • It uses javascript URLSearchParams to parse search.
  • Decodes search params into primitive values. (ex: “?productId=10&productName=Apple” will become object).
  • react-search-params doesn’t do navigation by itself. This gives the developer the control or the ability to use it’s own navigation system. see more in Usage
  • parseParams, parseSearch method’s that extend URLSearchParams

Installation

Install using Yarn:

yarn add @resourge/react-search-params

or NPM:

npm install @resourge/react-search-params --save

Usage

const [params, setParams] = useSearchParams(
  // Method to control navigation
  ({ url }) => window.history.replaceState(null, '', url.href),
  // Ex: react-router ({ url }) => history.replace(url.href),
  { }, // default params
  { } // config
)

Quickstart

import React from 'react';
import { useSearchParams } from '@resourge/react-search-params';

export default function Form() {
  const [params, setParams] = useSearchParams(
    ({ url }) => window.history.replaceState(null, '', url.href)
  )

  return (
    <div> 
	  App
      <button onClick={() => setParams({ productId: Math.random() })}>
        Set new params
      </button>
	</div>
  );
}

Config

NameTypeRequiredDescription
navigate(config: SearchParams<T>) => voidtrueMethod to navigate.
defaultParamsobjectfalseTo define default values
config{ hash?: boolean }falseWhen hash is true it will use URL hash instead of URL to get search