https://nomadcoders.co ์์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋ฆฌํ ๋ด์ฉ ์ ๋๋ค.
import React, { useEffect, useRef } from "react";
const useClick = (onClick) => {
const element = useRef();
useEffect(() => {
if (element.current) {
element.current.addEventListener("click", onClick);
}
return () => {
if (element.current) {
element.current.removeEventListener("click", onClick);
}
}
}, []);
if (typeof onClick !== "function") {
return;
}
return element;
}
export default useClick;
import React, { useEffect, useState, useRef } from "react";
import useClick from "./Hooks/useClick";
const App = () => {
const sayHello = () => console.log("hello");
const greeting = useClick(sayHello);
return (
<div className="app">
<h3 ref={greeting}>Hello World</h3>
</div>
)
}
export default App;