프론트엔드 개발자의 개발 놀이터

React의 Hook 함수 설명 본문

React

React의 Hook 함수 설명

프론트포텐 2024. 2. 2. 10:39
반응형

1. useState

- 컴포넌트에서 바뀌는 값을 관리하며, 값이 바뀐 것을 감지 후 랜더링 해주는 Hook의 상태관리 함수.

const [state, setState] = useState(0);

// typescript
const [state, setState] = useState<number>(0);

 

2. useRef

- javascript의 getElementById / querySelector 와 같이 DOM Selector 함수처럼 react 에서 DOM에 접근하게 되는 일이 생긴다면 접근하게 해주는 Hook 함수.

const inputRef = useRef();
<input ... ref={inputRef} />

// typescript
const inputRef = useRef<HTMLInputElement | null>(null);
<input ... ref={inputRef} />

 

3. useEffect

- 마운트(화면이 처음 랜더링 될 때)와 언마운트(화면이 사라질 때) 시 특정 작업(함수나 이벤트)을 실행할 때 사용하는 Hook 함수.

useEffect(() => {
  console.log('마운트');
  
  return () => {
    console.log('언마운트');
  }
}, []);

* [ ] 의존성 배열에 들어간 변수가 변경될 때 마운트, 비어있으면 첫 랜더링 시에만 마운트

 

4. useMemo

- 연산된 값(결과)을 반환하여 재사용할 수 있게 해주는 Hook 함수.

useMemo(() => console.log(`색상은 ${color} 입니다.`), [color]);

 

5. useCallback

- 특정 함수를 새로 만들지 않고 재사용할 수 있게 해주는 Hook 함수.

const [color, setColor] = useState("red");
const changeColor = useCallback(() => {
  setColor("blue");
  console.log("색상 변경");
}, []);

 

* 메모이제이션(memoization)

  - 값이 안바뀌는 연산이나 함수를 랜더링이 되더라도 재 생성하지 않도록 값이나 함수를 재사용.

  - 즉, 랜더링 시 필요없는 연산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기술.

'React' 카테고리의 다른 글

React-Query 알아보기  (0) 2024.02.03
redux와 redux/toolkit 간단 비교  (0) 2024.02.02
React 프로젝트 github-pages로 배포하기  (0) 2024.02.02