Skip to content

Commit 51cafe2

Browse files
committed
docs: write docs about v1
1 parent 74aad42 commit 51cafe2

File tree

2 files changed

+61
-35
lines changed

2 files changed

+61
-35
lines changed

README.md

Lines changed: 56 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -30,53 +30,78 @@ npm install react-use-event-listeners
3030

3131
## 💁 Usage
3232

33+
example component is count-up button app
34+
3335
```javascript
36+
const CountUpApp = () => {
37+
const eventTargetRef = useRef(null)
38+
39+
const countUp = useCallback(() => {
40+
setCount(prev => prev + 1)
41+
}, [])
42+
43+
const handleOver = useCallback(() => {
44+
console.log('user will click count-up button')
45+
}, [])
46+
47+
useEventListeners(
48+
{
49+
eventTarget: eventTargetRef.current,
50+
listeners: [
51+
['click', countUp],
52+
['pointerover', handleOver],
53+
]
54+
},
55+
[eventTargetRef.current]
56+
)
57+
58+
return (
59+
<>
60+
<div className="displayCount">{count}</div>
61+
<div className="countUpButton" ref={eventTargetRef}>
62+
Click then count up
63+
</div>
64+
</>
65+
)
66+
}
3467
```
3568

3669
## 🔥 APIs
3770

38-
### `useEventListeners(element, listeners)`
39-
40-
| name | require | type | default | decstiption |
41-
| ----------- | :-----: | :--------------------------------------------------------------------------------------------------------: | :-----: | ------------------------------------------------------------------------------------------------------- |
42-
| eventTarget || EventTarget | - | [MDN - EventTarget](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) |
43-
| listeners || Array([EventListeners](https://1natsu172.github.io/react-use-event-listeners/globals.html#eventlisteners)) | - | [MDN - addEventListener](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener) |
71+
### `useEventListeners(values, dependencyList)`
4472

45-
#### About the 2nd argument(listeners)
73+
| name | require | type | default | decstiption |
74+
| -------------- | :-----: | :----: | :-----: | ------------------------------------------------------------------------------------------------------------------------------------------------- |
75+
| values || Object | - | See below |
76+
| dependencyList | - | Array | - | [About React hooks 2nd argument array(DependencyList)](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects) |
4677

78+
#### About the 1st argument object(values)
4779

48-
##### The element of the array
80+
| name | require | type | default | decstiption |
81+
| ----------- | :-----: | :---------: | :-----: | ------------------------------------------------------------------------------------------------------------------- |
82+
| eventTarget | - | EventTarget | - | [MDN - EventTarget](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget) |
83+
| listeners || Array | - | [README - register-event-listeners](https://github.com/1natsu172/register-event-listeners#the-element-of-the-array) |
4984

50-
**Element is same as the format of the argument of [`addEventListener`](https://developer.mozilla.org/ja/docs/Web/API/EventTarget/addEventListener)**
85+
##### What's listeners?
5186

52-
That is this 👉 `[type, listener[, options])]`
87+
The listeners are the same format as dependency module [register-event-listeners](https://github.com/1natsu172/register-event-listeners). Please refer to that document for details.
5388

54-
* `type` is **[event.type](https://developer.mozilla.org/ja/docs/Web/API/Event/type).**
55-
* `listener` is commonly called a **handler**
56-
* `options` is listenerOptions
89+
> https://github.com/1natsu172/register-event-listeners#the-element-of-the-array
5790
58-
##### The 2nd argument should be like this.
91+
##### So, the 1st argument should be like this.
5992

6093
```javascript
61-
[
62-
['touchstart', onTouchStart, {capture: true, once: true}],
63-
['touchmove', onTouchMove, { passive: false }],
64-
['touchend', onEnd],
65-
['touchcancel', onEnd]
66-
]
94+
{
95+
eventTarget: eventTargetRef.current,
96+
listeners:[
97+
['touchstart', onTouchStart, {capture: true, once: true}],
98+
['touchmove', onTouchMove, { passive: false }],
99+
['touchend', onEnd],
100+
['touchcancel', onEnd]
101+
]
102+
}
67103
```
68104

69-
#### Returns
70-
71-
##### register
72-
73-
register event listeners. In other words _addEventListener**s**_.
74-
75-
##### unRegister
76-
77-
unRegister event listeners. In other words _removeEventListener**s**_.
78-
79-
80105
## 💚 Running the tests
81106

82107
with [Jest](https://jestjs.io/).

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "react-use-event-listeners",
33
"version": "1.0.0",
4-
"description": "React hooks version of register-event-listeners",
4+
"description": "Handling the addEventListener(s) using the hooks.",
55
"publishConfig": {
66
"access": "public"
77
},
@@ -77,10 +77,11 @@
7777
"EventTarget",
7878
"addEventListener",
7979
"removeEventListener",
80-
"React",
81-
"hooks"
80+
"hooks",
81+
"React-hooks",
82+
"custom-hooks"
8283
],
8384
"dependencies": {
8485
"register-event-listeners": "^2.0.0"
8586
}
86-
}
87+
}

0 commit comments

Comments
 (0)