티스토리 뷰
리액트 Customhooks 만들어서 반복되는 코드 줄이기.
커스텀 hook을 만들어서 반복되는 코드를 줄여줄 수 있다.
훅을 사용하지 않는다면 보통 Input의 onChange이벤트를 관리하기 위해 아래와 같이 코드를 작성 할 것이다.
const [password, setPassword] = useState('')
const onChangePassword = useCallback((e) => {
setPassword(e.target.value);
}, []);
const [id, setId] = useState('')
const onChangePassword = useCallback((e) => {
setId(e.target.value);
}, []);
const [name, setName] = useState('')
const onChangePassword = useCallback((e) => {
setName(e.target.value);
}, []);
이렇게 작성할 경우, 관리해야할 Input이 늘어날 때마다 비슷한 형태로 반복되는 코드를 작성해주어야 한다.
반복이 많으면 코드가 길어질 뿐 아니라, 매우 비효율적인 형태로 보여진다.
커스텀hook을 만들어 사용하면 비슷한 형태로 반복되는 코드를 줄여줄 수 있다.
아래 예시코드를 통해 커스텀hook을 만드는 방법과, 사용하는 방법을 확인해보자.
// useInput.js
// 아래와 같이 커스텀 훅을 작성할 수 있다.
export default (initialValue = null) => {
const [value, setValue] = useState(initialValue);
const handler = useCallback((e) => {
setValue(e.target.value);
}, []);
return [value, handler];
};
// LoginForm.js
// 커스텀훅을 사용해 반복되는 코드를 줄여보자.
const [id, onChangeId] = useInput("");
const [password, onChangePassword] = useInput("");
const [name, onChangeName] = useInput("");
위와 같이 커스텀 훅을 사용하면, 코드를 한층 간결하게 만들어 줄 수 있다.
반복되는 형태의 함수가 있다면, 커스텀hook을 만들어서 사용해보자 !
'개발일기 > REACT' 카테고리의 다른 글
[REACT] input[type="file"] 디자인 변경 하는 방법 (0) | 2022.02.27 |
---|---|
[REACT] NEXTJS 환경 REDUX 초기셋팅 코드예시 (0) | 2022.02.25 |
[React] useCallback 사용이유와 코드예시 (0) | 2022.02.23 |
[React] useMemo 사용이유와 코드예시 (0) | 2022.02.23 |
[REACT] REACT Formdata에 이미지파일 여러개 넣기 (0) | 2022.02.20 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- gathertown
- KEC반영
- TS
- 전기공사기사
- 전기기사 필기
- nextjs
- shortid
- dummydata
- fakerjs
- 산안기 합격률
- 전기기기
- 전자기학
- 모두CBT
- 게더타운
- 실기CBT
- React
- 전기기사
- TypeScript
- 전기산업기사
- zep
- 전기기사실기단답
- 전력공학
- 산업안전기사
- 게더타운맵
- 산업안전기사 실기
- JavaScript
- 전기기사실기CBT
- cbt
- 개더타운
- 전기기사필기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함