Spaces:
Runtime error
Runtime error
| import React, { useState } from "react"; | |
| const useKeyPress = function (targetKey) { | |
| const [keyPressed, setKeyPressed] = useState(false); | |
| function downHandler({ key }) { | |
| if (key === targetKey) { | |
| setKeyPressed(true); | |
| } | |
| } | |
| const upHandler = ({ key }) => { | |
| if (key === targetKey) { | |
| setKeyPressed(false); | |
| } | |
| }; | |
| React.useEffect(() => { | |
| document.addEventListener("keydown", downHandler); | |
| document.addEventListener("keyup", upHandler); | |
| return () => { | |
| document.removeEventListener("keydown", downHandler); | |
| document.removeEventListener("keyup", upHandler); | |
| }; | |
| }); | |
| return keyPressed; | |
| }; | |
| export default useKeyPress; | |