Event Handling
useDocumentEventListener
Attaches and cleans up an event listener on the document.
About
A react hook to an event listener to the document object
Examples
Track document clicks
import { useDocumentEventListener } from "rooks";
import { useState, useEffect } from "react";
export default function App() {
const [myState, setMyState] = useState(0);
useDocumentEventListener("click", function () {
setMyState(myState + 1);
});
return (
<div className="App">
<h1>useDocumentEventListener Example</h1>
<br></br>
<h1>Clicked {myState} times</h1>
</div>
);
}Use a document-level listener to close a surface
import { useState } from "react";
import { useDocumentEventListener } from "rooks";
export default function DismissibleNotice() {
const [isOpen, setIsOpen] = useState(true);
useDocumentEventListener("click", () => {
setIsOpen(false);
});
return isOpen ? (
<div>Click anywhere in the document to dismiss me.</div>
) : null;
}Arguments
| Arguments | Type | Description | Default value |
|---|---|---|---|
| eventName | string | The event to track | undefind |
| callback | function | The callback to be called on event | undefined |
| conditions | object | The options to be passed to the event listener | |
| isLayoutEffect | boolean | Should it use layout effect. Defaults to false | false |
Return
No return value.