1.13.0 • Published 9 months ago
@resourge/react-search-params v1.13.0
@resourge/react-search-params
@resourge/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" }).
Installation
Install using Yarn:
yarn add @resourge/react-search-paramsor NPM:
npm install @resourge/react-search-params --saveBasic 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
| Name | Type | Required | Description |
|---|---|---|---|
| navigate | (config: SearchParams<T>) => void | true | Method to navigate. |
| defaultParams | object | false | To define default values |
| config | { hash?: boolean } | false | When hash is true it will use URL hash instead of URL to get search |
useUrl
Returns the current URL object.
const url = useUrl();License
MIT Licensed.
1.13.0
9 months ago
1.11.4
1 year ago
1.12.2
1 year ago
1.12.1
1 year ago
1.12.0
1 year ago
1.11.3
2 years ago
1.11.2
2 years ago
1.11.1
2 years ago
1.9.1
2 years ago
1.9.0
2 years ago
1.9.2
2 years ago
1.11.0
2 years ago
1.10.0
2 years ago
1.8.2
3 years ago
1.8.1
3 years ago
1.8.0
3 years ago
1.7.0
3 years ago
1.6.2
3 years ago
1.6.1
3 years ago
1.6.0
3 years ago
1.5.0
3 years ago
1.3.2
3 years ago
1.4.0
3 years ago
1.3.1
3 years ago
1.3.0
3 years ago
1.2.0
3 years ago
1.1.1
3 years ago
1.1.0
3 years ago
1.2.3
3 years ago
1.2.2
3 years ago
1.2.1
3 years ago
1.1.2
3 years ago
1.0.1
4 years ago
1.0.0
4 years ago