Input 값을 관리하는 Custom Hooks를 만들어봅시다.
lib 디렉토리에 Custom Hooks인 useInput.js 파일을 만들고 아래와 같이 작성해봅시다.
import { useState } from 'react';
const useInput = (initialValue) => {
const [value, setValue] = useState(initialValue);
const onChange = e => {
// Destructing Assignment
const { target: { value } } = e;
setValue(value);
}
return [ value, setValue, onChange ];
}
export default useInput;
Custom Hooks은 보통 파일 이름에 use를 붙이는 것이 관례이고, 저희가 만들 Hooks은 input 값을 관리하는 데 사용되므로 파일 이름을 useInput이라고 지정했습니다. 그럼 코드를 하나하나 해석해보겠습니다.
그럼 이제 App 컴포넌트로 돌아와 아래와 같이 수정해주세요.