본문 바로가기
Programming

React 커스텀 Hook 만들기

by 나무수피아는 지식의 가지를 뻗어가는 공간입니다. 2025. 10. 28.
반응형

커스텀 Hook 만들기

React에서 Hook은 함수형 컴포넌트에서 상태 관리와 생명주기 기능을 사용할 수 있도록 해주는 기능입니다.
커스텀 Hook은 이 Hook들을 조합하여 공통 로직을 재사용할 수 있게 해 줍니다.

1. 커스텀 Hook이란?

커스텀 Hook은 use로 시작하는 함수로, 내부에서 useState, useEffect 등 기존 Hook을 사용하여 기능을 확장하거나 재사용합니다.

✅ 예: 여러 컴포넌트에서 동일한 타이머나 입력 제어 로직이 필요할 때 커스텀 Hook으로 분리합니다.

2. 커스텀 Hook 예제 - useInput

사용자 입력값을 다루는 커스텀 Hook을 만들어보겠습니다.

// useInput.js import { useState } from 'react'; function useInput(initialValue) { const [value, setValue] = useState(initialValue); const onChange = (e) => { setValue(e.target.value); }; return { value, onChange, reset: () => setValue('') }; } export default useInput;

3. 커스텀 Hook 사용 예시

위에서 만든 useInput을 컴포넌트에서 사용하는 방법입니다.

// App.jsx import React from 'react'; import useInput from './useInput'; function App() { const name = useInput(''); const email = useInput(''); const handleSubmit = (e) => { e.preventDefault(); alert(`이름: ${name.value}, 이메일: ${email.value}`); name.reset(); email.reset(); }; return ( <form onSubmit={handleSubmit}> <input type="text" placeholder="이름" {...name} /> <input type="email" placeholder="이메일" {...email} /> <button type="submit">제출</button> </form> ); } export default App;

4. 장점 요약

  • 공통 로직을 분리하여 유지보수가 쉬움
  • 로직 재사용이 간편
  • 컴포넌트가 더 간결해짐
💡 팁: 여러 개의 입력 필드를 처리할 땐 커스텀 Hook을 만들어 일관성 있게 관리해보세요!

5. 결론

커스텀 Hook은 React 개발에서 반복되는 로직을 추상화하고 컴포넌트를 깔끔하게 유지하는 강력한 도구입니다.
직접 만들어보며 나만의 유틸 Hook을 쌓아보세요.

반응형

'Programming' 카테고리의 다른 글

React Router  (73) 2025.10.30
React Context API  (72) 2025.10.29
React 컴포넌트 분리 및 재사용  (65) 2025.10.27
React useEffect  (41) 2025.10.26
React 카운터  (65) 2025.10.25