1.11.3 • Published 5 months ago

@resourge/react-search-params v1.11.3

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

React-search-params

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 { product: 10, productName: "Apple" }).
  • 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

Basic usage

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>
  );
}

Documentation

useSearchParams

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
)

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

useUrl

Returns the current URL object.

const url = useUrl();

Methods

parseParams

Params object into search path

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

parseParams({
  productId: 10,
  productName: 'Apple'
})
// ?productId=10&productName=Apple

parseSearchParams

Convert search params into true primitive values.

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

const searchParams = new URLSearchParams();
searchParams.set('productId', String(10))

const obj = parseSearchParams(searchParams)
// {
//   productId: 10
// }

parseSearch

Converts search string into object.

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

parseSearch('?productId=10&productName=Apple')
// {
//   productId: 10,
//   productName: 'Apple'
// }

License

MIT Licensed.

1.11.3

5 months ago

1.11.2

7 months ago

1.11.1

7 months ago

1.9.1

10 months ago

1.9.0

10 months ago

1.9.2

10 months ago

1.11.0

9 months ago

1.10.0

9 months ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.0

1 year ago

1.6.2

1 year ago

1.6.1

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.3.2

2 years ago

1.4.0

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago