프로그래밍/Weekly I Learned

2023.12.18+ 커스텀 훅

타코코딩 2023. 12. 18. 12:14

custom hook 생성규칙

함수이름은 use로 시작한다

함수 내에서는 다른 리액트훅이나 커스텀훅을 사용할 수 있다.

함수 내에서는 return 문을 통해 특정 값이나 함수를 반환해야 한다.

 

 

주의사항

1.이름 규칙 준수

2. 훅의 순서에 대한 의존성에 주의해야 한다.

3. 컴포넌트 범위에서 훅 호출: 반드시 함수 컴포넌트 또는 커스텀 훅 안에서만 호출되어야 한다

4. useeffect usecallback의 의존성 배열을 이해해야 한다.

5. 커스텀훅은 순수함수로 구성되어야 한다.

 

import { useEffect, useState } from "react";

export default function useProduct() {
  const [productList, setProductList] = useState([]);
  useEffect(() => {
    axios
      .get("http://127.0.0.1:8000/products/")
      .then((result) => setProductList(result.data))
      .catch((err) => console.log(err));
  }, []);

  return [productList];
}
  const [productList] = useProduct();

만약에 get요청을 8000번뿐만 아니라 여러 포트번호에서 재사용한다면

  const baseUrl = 'http://127.0.0.1:8000/products/'

  const [productList] = useProduct(baseUrl);

파라미터로 처리 할 수 있