🔡 react-use-query-param-string
React hook for easily getting and setting query param strings.
Documentation
Read the official documentation.
Overview
This hook allows you to use a query param string the same way you'd use regular React state (i.e. via React.useState).
You can also use the getQueryParams() and setQueryParams() functions to get/set query params yourself.
Features include:
-
👍 Read and set query params with ease- Use query param strings just like you would React state
-
🔄 State syncing across components- Hooks stay synchronized even when used in multiple components.
-
🙅♂️ No Router interference- Uses
window
functions that don't interfere with router frameworks.
- Uses
-
💁♀️ Convenience functions available- Use
getQueryParams()
orsetQueryParams()
to get/set query params yourself.
- Use
Donate
I hope this project makes your life a little easier! If it does and you'd like to show your appreciation, consider supporting the project with a coffee or sponsorship.
Your support helps keep the project going and will earn you some serious virtual high fives. Maybe even a virtual fist bump if you're feeling extra cool.
Table of Contents
- Documentation
- Overview
- Donate
- Table of Contents
- Installation
- Quick Start
- TypeScript
- Icon Attribution
- Contributing
⭐ Found It Helpful? Star It!- License
Installation
npm i react-use-query-param-string
Quick Start
import { useQueryParamString } from 'react-use-query-param-string';
// Will use query param `q` and have a default value of empty string.
// `initialized` will be true after the value has been read from the query params.
const [searchText, setSearchText, initialized] = useQueryParamString('q', '');
See the useQueryParamString docs for more usage details, including static functions.
TypeScript
Type definitions have been included for TypeScript support.
Icon Attribution
Favicon by Twemoji.
Contributing
Open source software is awesome and so are you.
Feel free to submit a pull request for bugs or additions, and make sure to update tests as appropriate. If you find a mistake in the docs, send a PR! Even the smallest changes help.
For major changes, open an issue first to discuss what you'd like to change.
⭐ Found It Helpful? Star It!
If you found this project helpful, let the community know by giving it a star:
License
See LICENSE.md.