Skip to content

Commit 2d831cd

Browse files
committed
feat(useQueryParams): adds useQueryParams
1 parent aa51560 commit 2d831cd

15 files changed

+163
-14
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ $ yarn add beautiful-react-hooks
7979
## 🎨 Hooks
8080

8181
* [useQueryParam](docs/useQueryParam.md)
82+
* [useQueryParams](docs/useQueryParams.md)
8283
* [useSearchQuery](docs/useSearchQuery.md)
8384
* [useInfiniteScroll](docs/useInfiniteScroll.md)
8485
* [useObservable](docs/useObservable.md)

docs/README.es-ES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ $ yarn add beautiful-react-hooks
7777
## 🎨 Hooks
7878

7979
* [useQueryParam](useQueryParam.md)
80+
* [useQueryParams](useQueryParams.md)
8081
* [useSearchQuery](useSearchQuery.md)
8182
* [useInfiniteScroll](useInfiniteScroll.``md)
8283
* [useObservable](useObservable.md)

docs/README.it-IT.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ $ yarn add beautiful-react-hooks
7676
## 🎨 Hooks
7777

7878
* [useQueryParam](useQueryParam.md)
79+
* [useQueryParams](useQueryParams.md)
7980
* [useSearchQuery](useSearchQuery.md)
8081
* [useInfiniteScroll](useInfiniteScroll.md)
8182
* [useObservable](useObservable.md)

docs/README.jp-JP.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ $ yarn add beautiful-react-hooks
7676
## 🎨 Hooks
7777

7878
* [useQueryParam](useQueryParam.md)
79+
* [useQueryParams](useQueryParams.md)
7980
* [useSearchQuery](useSearchQuery.md)
8081
* [useInfiniteScroll](useInfiniteScroll.md)
8182
* [useObservable](useObservable.md)

docs/README.pl-PL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ $ yarn add beautiful-react-hooks
7979
## 🎨 Hooki
8080

8181
* [useQueryParam](useQueryParam.md)
82+
* [useQueryParams](useQueryParams.md)
8283
* [useSearchQuery](useSearchQuery.md)
8384
* [useInfiniteScroll](useInfiniteScroll.md)
8485
* [useObservable](useObservable.md)

docs/README.pt-BR.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ $ yarn add beautiful-react-hooks
7878
## 🎨 Hooks
7979

8080
* [useQueryParam](useQueryParam.md)
81+
* [useQueryParams](useQueryParams.md)
8182
* [useSearchQuery](useSearchQuery.md)
8283
* [useInfiniteScroll](useInfiniteScroll.md)
8384
* [useObservable](useObservable.md)

docs/README.uk-UA.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ $ yarn add beautiful-react-hooks
7777
## 🎨 Хуки
7878

7979
* [useQueryParam](useQueryParam.md)
80+
* [useQueryParams](useQueryParams.md)
8081
* [useSearchQuery](useSearchQuery.md)
8182
* [useInfiniteScroll](useInfiniteScroll.md)
8283
* [useObservable](useObservable.md)

docs/README.zh-CN.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ $ yarn add beautiful-react-hooks
7474
## 🎨 Hooks
7575

7676
* [useQueryParam](useQueryParam.md)
77+
* [useQueryParams](useQueryParams.md)
7778
* [useSearchQuery](useSearchQuery.md)
7879
* [useInfiniteScroll](useInfiniteScroll.md)
7980
* [useObservable](useObservable.md)

docs/useQueryParam.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
### Why? 💡
44

55
- to ease the process of modify the query string in the URL for the current location.
6-
- Works similar to useState hook
7-
- built on top of react-router-dom's useSearchParams
6+
- Works similar to the useState hook
7+
- it's not built on top of react-router-dom's useSearchParams, it is therefore compatible with older version
88

99
### Basic Usage:
1010

docs/useQueryParams.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# useQueryParams
2+
3+
Very similar to `useQueryParam` (mind the final 's'), it ease the process of manipulate a query string with multiple values.
4+
5+
### Why? 💡
6+
7+
- Ease the process of manipulate a query string (with multiple values) in the URL for the current location.
8+
- Works similar to the useState hook
9+
- it's not built on top of react-router-dom's useSearchParams, it is therefore compatible with older version
10+
11+
### Basic Usage:
12+
13+
```jsx harmony
14+
import { useState, useRef } from 'react';
15+
import { HashRouter as Router } from 'react-router-dom'
16+
import { Button, Input } from 'beautiful-react-ui'
17+
import useQueryParams from 'beautiful-react-hooks/useQueryParams';
18+
19+
const ExampleComponent = () => {
20+
// second parameter is optional
21+
const [foos, setFoos] = useQueryParams('foo[]', {
22+
initialValue: [1, 2, 3],
23+
replaceState: false,
24+
})
25+
26+
const onClick = () => setFoos([4, 5, 6])
27+
28+
return (
29+
<DisplayDemo>
30+
<p>Current value of 'foo[]' param is '{foos.join(',')}'</p>
31+
<Button onClick={onClick} color="primary">
32+
Change to param to [4,5,6]
33+
</Button>
34+
</DisplayDemo>
35+
);
36+
};
37+
38+
<Router>
39+
<ExampleComponent />
40+
</Router>
41+
```

0 commit comments

Comments
 (0)