Development/React.js

React Hooks

moretz0921 2022. 3. 15. 23:13

리엑트 훅 : 리엑트가 제공하는 기능에 연결해서 그 값이나 기능을 사용하는 함수

- use로 시작 

 

1. Hook의 규칙
- 반드시 리엑트 컴포넌트 함수 안에서 사용
- 컴포넌트 함수의 최상위에서만 사용 (조건문, 반복문 안에서는 못 씀)

1) useState

: 리엑트가 관리하는 State에 연결해서 변수처럼 값을 사용

State 사용

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



State 변경

setState(nextState);



2) useEffect
: 컴포넌트 함수에서 사이드 이펙트에 활용하는 함수

처음 렌더링 후에 한 번만 실행

useEffect(() => {
  // ...
}, []);



렌더링 후에 특정 값이 바뀌었으면 실행

useEffect(() => {
  // ...
}, [dep1, dep2, dep3, ...]);



사이드 이펙트 정리하기 

useEffect(() => {
  // 사이드 이펙트

  return () => {
    // 정리
  }
}, [dep1, dep2, dep3, ...]);



3) useRef
: 리엑트가 관리하는 Ref 객체에 연결해서 current 값을 사용


생성하고 DOM 노드에 연결하기 

const ref = useRef();

// ...

return <div ref={ref}>안녕 리액트!</div>;



DOM 노드 참조하기 

const node = ref.current;
if (node) {
  // node를 사용하는 코드
}



4) useCallback 
: 함수를 매번 새로 만들지 않고 재사용하게 해주는 것 

 

const handleLoad = useCallback((option) => {
  // ...
}, [dep1, dep2, dep3, ...]);



5) custom Hook
: 나만의 Hook을 만듦
- use를 붙여서 만듦 


 

'Development > React.js' 카테고리의 다른 글

리엑트 라우터  (0) 2022.03.16
전역 데이터 다루기, Context API  (0) 2022.03.15
사이드 이펙트와 useEffect  (0) 2022.03.15
ref로 DOM 노드 가져오기  (0) 2022.03.15
제어 컴포넌트와 비제어 컴포넌트  (0) 2022.03.15