[React] CustomHook 👉 useClick


https://nomadcoders.co受講後にまとめられた内容です.

useClickとは?

  • 要素を選択するとclickイベントが発生する可能性があります.
  • useRef
  • userefは、基本的にコンポーネントの一部を選択する方法です.
  • document.getElementByID()を使用するのと同じ
  • 2.UseClickの作成

    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;

    3.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;