React Hooks 는 함수형 컴포넌트에서 상태와 사이드 이펙트를 관리를 쉽게할 수 있도록 도와주는 기능입니다. 나아가 컴포넌트 로직을 더 간결하고 가독성 있게 다룰 수 있도록 해줍니다. 그럼, 주요 Hooks 및 사용법을 알아봅시다! 🚀
const [state, setState] = useState(initialValue);const [state, setState] = useState(() => computeInitialValue());useState는 컴포넌트의 로컬 상태를 관리할 때 사용됩니다.useEffect(() => {
// 여기에 로직 작성
return () => {
// 정리 작업
};
}, [의존성 배열]);useEffect는 컴포넌트의 부작용(데이터 가져오기, 구독 등)을 처리합니다.useEffect가 실행됩니다.useRef는 렌더링 간에 변수를 유지할 때 사용되며, 값이 변경되어도 리렌더링을 유발하지 않습니다const myRef = useRef(initialValue);const MyComponent = () => {
const data = useContext(MyContext);
// 여기에 컴포넌트 로직 작성
};useContext는 컴포넌트 트리에서 전역으로 상태를 공유할 때 사용됩니다.MyContext는 createContext를 통해 생성된 컨텍스트 객체여야 합니다.useMemo는 특정 값의 계산을 메모이제이션하여 성능을 최적화합니다.useCallback은 메모이제이션된 콜백 함수를 생성하여 불필요한 재생성을 방지합니다.const [state, dispatch] = useReducer(reducer, initialState);useReducer는 복잡한 상태 로직을 다룰 때 사용되며, 상태를 업데이트하는 함수(reducer)와 상태를 요청하는 메서드(dispatch)를 제공합니다.const MemoizedComponent = React.memo(MyComponent);React.memo를 사용하면 컴포넌트가 동일한 props로 렌더링될 때만 리렌더링이 발생하도록 할 수 있습니다.const useFetch = (url) => {
// 데이터 가져오기에 대한 커스텀 로직
};커스텀 훅을 사용하면 로직을 모듈화하고 여러 컴포넌트에서 재사용할 수 있습니다.React Hooks는 강력한 기능이지만, 목적을 이해하고 필요할 때 현명하게 사용하는 것이 깔끔하고 효율적인 코드를 작성하는 데 중요합니다!