오늘은 React Hooks Api 에 대해 알아보겠습니다.
Functional Component를 제어하는데 사용할 수 있습니다.
자주 쓰이는 종류로는
- useEffect : Component의 생명주기를 설정할 수 있는 Hooks입니다.
- useState : React State를 정의할 수 있는 Hooks입니다.
- useCallback: React에 memoization으로 저장된 콜백을 반환합니다.
- useMemo: React에 memoization으로 저장된 값을 반환합니다.
- useRef: DOM의 ref 객체를 반환합니다.
이렇게 있습니다.
useEffect
이 Hooks 를 사용하면 함수형 Component 에서 side effect를 수행할 수 있습니다.
const Test = () => {
useEffect(()=> {
// 컴포넌트 첫 호출 시
}, [])
return <></>
}
useEffect는 저번 생명주기를 참조하시면 될 것 같습니다.
useState
이 Hooks를 사용하시면 React의 State를 얻을 수 있습니다.
const Test = () => {
const [name, setName] = useState('name');
return <>{name}</>
}
이 것 또한 저번 State에서 다뤘던 내용이니, 참조하시면 될 것 같습니다.
useMemo
성능 최적화를 위하여 연산된 값을 재사용할 때 씁니다.
Memo는 memoized를 의미합니다.
props나 값이 교체될 때, 컴포넌트 전체의 리렌더링을 막기 위해, useState와 함께 함수형 업데이트를 할 수 있습니다.
const Test = (props) => {
const [name, setName] = useState('name');
useMemo (()=> {
setName(props.name)
}, [props.name])
return <>{name}</>
}
useCallback
useMemo와 비슷합니다. useMemo는 값을 재사용하지만, useCallback 는 함수를 재사용합니다.
const Test = () => {
const [name, setName] = useState('name');
const nameChange = useCallback( e => {
console.log(name);
}, [name])
return <>{name}</>
}
이 함수를 export 하여 커스텀 Hooks로 쓰는 경우도 많습니다.
useRef
const Test = () => {
const ref = useRef()
return <div ref = {ref}></div>
}
ref를 통해, ref를 넣은 DOM의 정보를 가져올 수 있습니다.
ref.current. 을 통해 접근하거나, ref를 함수의 인자 값으로 추가할 수도 있습니다.
이상 자주 사용할 React Hooks Api에 대해 알아보았습니다.
'JavaScript > React.js Lecture' 카테고리의 다른 글
9. React Event (0) | 2020.11.19 |
---|---|
8. React Axios를 사용한 통신 (0) | 2020.11.19 |
7. React 파일 구조, import / export (0) | 2020.11.19 |
6. React View, Component 반복, 조건부 랜더링 (0) | 2020.11.19 |
5. React Router (0) | 2020.11.19 |